Hg.
Best regards,
Alex Ionescu
On Thu, Jan 8, 2009 at 12:12 PM, Alexander Potashev <aspotashev(a)gmail.com>wrote;wrote:
Hi, All!
On 16:34 Thu 08 Jan , Colin Finck wrote:
Aleksey Bragin wrote:
Since Arty just mentioned GIT, I think it's
about time to uncover a
ReactOS GIT mirror I've been setting up recent couple of weeks.
The SVN branches are still missing there. Any way to readd them properly?
:-)
I have just realized that it's possible! The problem is that the
branches in the repository at
git://git.reactos.org/ are 'remote
branches',
i.e. the are situated in .git/refs/remotes/ (even in the "main"
repository!). That's a big problem for gitweb, because it only shows the
branches in '.git/refs/heads/'.
Solution 1:
Make Aleksey tidy up the repo so that it would have the svn
branches as its local branches:
(in the repo at
git://git.reactos.org/)
git checkout origin/<branch>
git checkout -b local-<branch> # this creates a local
branch
But there are some issues regarding this solution:
1. it needs 'git pull ...' (frankly, a bit more
complex command...) in crontab
2. there could be some problems with ambiguous branch
names if you want to exactly keep the names of branches
in svn.
However, there's a ugly hack: to copy refs from
.git/refs/remotes/ to .git/refs/heads (they should be also
updated after every svn update)
Solution 2: (to not annoy Aleksey ;) )
This is not a bad solution, it just won't fix gitweb (althought,
Aleksey says that branches in gitweb are redundant).
The solution is to fetch branches from .git/refs/remotes/ in the
"main" repository too (not only from .git/refs/heads/):
add the following line to .git/config in your local repo under
"[remote "origin"]" section:
fetch = +refs/remotes/*:refs/remotes/origin/*
(now there should be two "fetch" lines)
Now, to switch to a branch: (say, "xen")
git checkout origin/xen
Please note, that origin/xen is a remote branch, you can't do
some operations on it (you can't commit AFAIK, ...). So, if you
want to start working from the origin/xen branch, you firstly
need to create a local branch (Git reminds about that):
git checkout -b xen
Now you can say 'git branch' to see you brand new branch.
(especially to Aleksey)
I really don't know whether it's possible to push the changes back to
the svn repo through our Git mirror, but I'm affraid, the answer is
"NO!!!". It seems that you should import the svn repo directly to push
back into it.
'git checkout' is really painful to write every time, so you can add an
alias (to ~/.gitconfig for user-wide alias), I have the following
aliases:
[alias]
br = branch
co = checkout
ci = commit --verbose # --verbose shows the commit
diff when commiting
st = status -uall
di = diff # I have no idea why is it
in my .gitconfig, I don't use it ;)
Best regards,
Colin
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev I really hate this Ros-dev ML ;),
there even no information on how to
unsubscribe (which may be necessary on LKML ;))
Alexander
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev