Community
Participate
Working Groups
I'd like to get the AspectJ repository migrated over to Git. Currently there are four main folders for AspectJ in CVS: /cvsroot/tools/org.aspectj/bundles /cvsroot/tools/org.aspectj/modules /cvsroot/tools/org.aspectj/releases /cvsroot/tools/org.aspectj/shadows I don't want bundles or releases any more - so I only need *modules* and *shadows* migrated across. If possible, can I have one git repo for the contents of modules and one for shadows? Something like: folders in modules become top level folders in here: git://git.eclipse.org/gitroot/aspectj/org.aspectj.git So inside that org.aspectj.git area I would see ajbrowser/ajde/etc/etc contents of shadows become top level entries in here: git://git.eclipse.org/gitroot/aspectj/org.aspectj.shadows.git I would like to keep the tags/histories/etc for the files. They are particularly important for the shadows area. Any questions, let me know! thanks. (there is no rush on this)
Ok, I've done a pair of test imports. Can you check repos are as you expect? -M.
I'll check them out right now.
On the first one: git://git.eclipse.org/gitroot/aspectj/org.aspectj.git I think everything is there. The only thing that looks funny is that it contains all the .class files for all the projects. I guess they were committed originally in CVS and then later the bin folder was added to cvsignore. This means they just pollute the repo as we don't really want them in there. I don't know if you want to try again without copying those across, (so that would be to exclude the contents of bin/**/*.class for all projects) or I can just delete them all in my first commit on the git repo. I'm looking at the second repository now.
On the second repository, I'm seeing something strange. First I do: git clone git://git.eclipse.org/gitroot/aspectj/org.aspectj.shadows.git then I do git checkout --track -b aj_v_B79_R37x origin/aj_v_B79_R37x (this is the branch I'm most interested in). I then immediately do: git status and it shows an unexpected change (when I haven't done anything): # On branch aj_v_B79_R37x # Changed but not updated: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ASTNode.java # no changes added to commit (use "git add" and/or "git commit -a") It appears there is some kind of case problem as the file should be called ASTNode.java but if I look at it in on disk it is called AstNode.java Did anything funny occur during the migration? I'm trying to understand if this problem is new or already existed in the CVS copy in some way.
Both of these are the results of 'git-cvsimport -i -p -x'(which is our standard import method), and I don't recall seeing any errors thrown during the import. -M.
I checked a bit more thoroughly and the branch is all wrong. However, I don't mind fixing this up and moving forward from here. Can you let me know what happens to the CVS contents? From what I read git-cvsimport can also mess up tags. There are kind of too many of these for me to check they are set correctly in the git repo - but if I knew I could go back to CVS if I discover problems in the future, that would be fine.
Once the move is 'official' we make the CVS data read only for a few months and then archive it. -M.
Ok. As long as I can still get to the CVS in some form if I have to, let's go with these git repos. I'll patch up the important branch I need in the shadows repo. thanks for your help getting them populated!
OK, I"ve marked the repos as read-only, and have queued them for archiving in 6 months. -M.