Comments (10)
Hi Keyhan,
Just letting you know that I'm unlikely to get a chance to work on this any time soon. In fact after this year I'm unlikely to have a Clearcase system to test against.
It's a good suggestion, and I'd even say that rebase could also create/remove those symlinks. In some ways this is more important than update. Of course it is possible that some symlinks may point to hard-coded versions of files or things outside your view/vob, in which case of course you'd just have to log a warning.
Charles
from git-cc.
Hi Charles, thanks for quick answer
I am very new to python, but the code looks clean and easy so I was
looking into it and I found for update you just call the cleartool
update command. Could it be that the cleartool update itself then has
problems with keeping soft links?
Another thing is that even executable lose their permission after
doing a gitcc update.
The reason I am just talking about update is that we are doing some
labing here, and we are still in the part of getting the git
repository to build for the first time, and so we discovered these
problems.
regards
KH
On Fri, Nov 25, 2011 at 4:02 AM, Charles O'Farrell
[email protected]
wrote:
Hi Keyhan,
Just letting you know that I'm unlikely to get a chance to work on this any time soon. In fact after this year I'm unlikely to have a Clearcase system to test against.
It's a good suggestion, and I'd even say that rebase could also create/remove those symlinks. In some ways this is more important than update. Of course it is possible that some symlinks may point to hard-coded versions of files or things outside your view/vob, in which case of course you'd just have to log a warning.
Charles
Reply to this email directly or view it on GitHub:
#6 (comment)
Keyhan Hadjari
http://keyhansworld.blogspot.com
from git-cc.
Hi Keyhan,
The update command is a poorly written but convenient cp. Depending on how you use it, I would recommend just manually running cp or something equivalent. That will both keep the symlinks and permissions.
If you feel like fixing update that'd be awesome too. The cleartool update is unrelated; it's the sync that does the copy.
Let me know if you have any other questions.
Charles
from git-cc.
Hi charleso another question, I am using a cc confspec that gets points to three parent branches, say parent branches A, B and C. I mention them in the gitcc file:
[master]
...
banches= A|B|C
Now when I do a rebase I found that although the B branch is the newest changes in the file the file in the git rep is a copy from A or B. Is the order in the list important? Is it A first and then B and last C or other way around?
regards.
from git-cc.
Hi Keyhan,
No the order is definitely not important. All I do is run lshistory, and find any change that matches. I should warn you it doesn't handle branches correctly in any way. So if you have changes been made in parallel without merging, the last change on any specified branch will win. Maybe take a look in .git/lshistory.bak if it happened on your last rebase and/or run 'cleartool lshistory' on the file in question. If that looks like what you expect and you want to test it again then you could also create a new gitcc repository and just 'include' that one file so you don't have to wait forever.
This is horrible, and I wish there were an easy way to support branches properly. :(
Charles
from git-cc.
Hi charleso and Keyhan.
I'm also in need of this functionality. Did you get something to work? Is there any code you could share?
from git-cc.
Hi nesqi,
I couldn't speak for Keyhan, but I haven't looked at this. Which part were you interested in? If it's just the symlinks I would recommend just using bash cp
, which should handle symlinks correctly. Look in update.py for an idea of what it actually does, which isn't much. The real 'smarts' are in rebase and commit.
Cheers,
Charles
from git-cc.
I'm converting a ClearCase repo to Git and have no need for commiting back to ClearCase. I'll try to modify the code to support symlinks coming from the ClearCase repo. You might get a question later if I fail to understand something.
from git-cc.
Hi Nesql,
If you're doing a once-only conversion can you just run rebase? That is to say - why are you running update? Rebase obviously doesn't handle symlinks either, but the line you're looking for is in rebase.py.
sym = line.find(' -> ')
Also, do you have Windows users? If so the symlink in Git isn't going to work so well (unless it's been fixed in the last two years).
Sorry I can't do the change for you - I don't have a Clearcase instance to test again any more. Always happy to answer questions as best I can though.
Charles
from git-cc.
I see now that I posted in the wrong issue. I am running rebase, not update =) Thank you for the tips. Don't worry, I'll probably figure it out.
from git-cc.
Related Issues (20)
- would git-cc work properly when cleartool diff is reconfigured? HOT 1
- Unable to initialize gitcc HOT 3
- Changing a symlink into a file in git causes ClearCase checkin to fail HOT 1
- Can I use the program on Linux redhat? HOT 2
- Does the program "git-cc" support python 3.5 HOT 1
- gitcc label erroring out HOT 25
- git-cc fails in subprocess.py HOT 7
- Unable to understand workflow. Where to use git init and where to use gitcc init? HOT 2
- zest.releaser upgrade? HOT 2
- Applying clearcase labels to git commits? HOT 15
- Capturing deleted file history? HOT 6
- git cc rebase - nothing happens HOT 5
- Error during gitcc rebase HOT 1
- Does git-cc support Git to CC HOT 2
- clearcase
- DEBUG in common.py dealt as str after loaded from config file HOT 1
- Only master Branch is creating while migrating but unable to create other branches HOT 1
- Only CC main branch code is migrated for all the branches. HOT 3
- Documentation questions HOT 6
- Version History not reflecting on Git platform HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from git-cc.