Show 46 quoted lines
> On 3/4/2011 9:57 AM, Hillel (Sabba) Markowitz wrote:
>> Please respond directly to sabbahillel@gmail.com as I do not have time
>> to follow this mailing list.
>>
> It is standard practice on this newsgroup to reply to the sender and cc
> the original cclist along with the newgroup. Following this newsgroup
> can be challenging when your schedule is busy, but you can learn alot of
> really cool stuff by perusing it regularly. I try to keep up daily but
> alas I am a few days behind.
>
>> I am attempting to set up a git repository based on an svn repository.
>> The idea would be that the members of the project would be able to use
>> git exclusively with the central git repository acting as the
>> coordinator. This git server would be the only one capable of issuing
>> the git svn dcommit and git svn rebase and the members of the project
>> would not have to worry about it. Eventually, the subversion
>> repository would be transferred to git.
>>
> I have no experience with git-svn (the svn part, that is), but your plan
> sounds good to me. Read on to see my comments on the parts I do have
> experience with...
>
>> I created a separate Ubuntu VM in order to set up the git repository.
>> I used "git svn clone -s" to set up MyProject.git on "gitserver"
>>
>> The command "git branch -a" shows
>> * master
>> remotes/branch1
>> remotes/branch2
>> remotes/trunk
>>
>>
>> I then went to my main VM and used ssh to clone the repository
>>
>> git clone gitserver:/opt/git/MyProject
>> cd MyProject
>> git branch -a
>> * master
>> remotes/origin/HEAD -> origin/master
>> remotes/origin/master
>>
>> How do I check out the trunk or appropriate branches from the remote?
>> I am probably misreading the documentation. Would it be
>>
>> git checkout -b branch1
>>
Show 90 quoted lines
> "git checkout -b branch1" will create a new branch called branch1 based
> on whatever your current HEAD is. HEAD is the commit that you are
> currently pointing to, ie. the tip of the branch currently checkout out.
> (see git checkout manpage.) The asterisk indicates above that
> you are currently on master. Therefore, "git checkout -b branch1" will
> create a new branch called "branch1" that has the same history as
> master. It sounds like you want to checkout "branch1", "branch2", and
> "trunk". Read on...
>
>> does the master on the remote (and here) actually point to the trunk
>> by default?
>> should I checkout the branches on "gitserver"?
>>
> not being familiar with git-svn, but familiar with "git", I would advise
> you to do the following:
> (1) on "gitserver" perform:
> (a) git branch branch1 remotes/branch1 (this will create a branch called
> branch1 that tracks remotes/branch1)
> (b) git branch branch2 remotes/branch2
> (c) git branch trunk remotes/trunk
> Now you have the branches master, branch1, branch2, and trunk on
> "gitserver".
> (2) I don't know how to push from a git repo to an svn repo so I can't
> tell you if gitserver master points to svn trunk or not. However, read
> on for what I do know...
>
>> I also do not see how I can get the list of branches from the remote
>> location.without having to do an ssh into the gitserver, cd to the
>> repository directory, and use a 'branch -a' there. Is there a way to
>> ask for this information? I have not yet been successful in setting up
>> gitosis yet because this is on an internal company intranet and I do
>> not have a valid machine name for my accounts as everything is being
>> done on VMs. Thus, my public key ends with
>> "sabbahillel@desktop-ubuntu" rather than an actual machine name or
>> address.
>>
> The way you get the list is by doing a git-fetch on MyProject (AFTER you
> create the branches on gitserver). This will create remote tracking
> branches for all the branches on gitserver. Notice I said "branches on
> gitserver" and not "remote tracking branches on gitserver". You can't
> track the remote tracking branches of your remote (at least not sanely).
> Thats why you had to create tracking branches on gitserver that track
> the remote tracking branches that track the svn repo. Now that you have
> branches "branch1", "branch2", and "trunk" on gitserver you can track
> them in MyProject. git-fetch will create remotes/origin/branch1,
> remotes/origin/branch2, remotes/origin/trunk in MyProject. Now you can
> do "git branch branch1 remotes/origin/branch1" to create the branch1
> branch in MyProject. "git checkout branch1" in MyRepo will check it out.
> Repeat for branch2 and trunk. (I'm not familiar with ssh details, but I
> assume your last ssh comment is made into a non-issue by what I just
> stated above.)
>
>> Would you have a pointer to a HOW-TO that discusses this.
>>
> I assume these links:
>
> http://git-scm.com/course/svn.html
>
> https://git.wiki.kernel.org/index.php/GitSvnCrashCourse
>
> https://git.wiki.kernel.org/index.php/GitSvnSwitch
>
> https://git.wiki.kernel.org/index.php/SvnMigration
>
> http://utsl.gen.nz/talks/git-svn/intro.html
>
> http://www.tfnico.com/presentations/git-and-subversion
>
> or the git-svn manpage:
>
> http://www.kernel.org/pub/software/scm/git/docs/v1.7.1.4/git-svn.html
>
> will help you. (you need to use the git version of the manual that
> corresponds to your installation. 1.7.1.4 is relevant to me, but perhaps
> not to you.)
>
>> Thanks for any help that you can give me.
>>
>> --
>> Sabba - סבא הלל - Hillel
>> Hillel (Sabba) Markowitz | Said the fox to the fish, "Join me ashore"
>> SabbaHillel@gmail.com | The fish are the Jews, Torah is our water
>> http://sabbahillel.blogspot.com
>
> Despite my ignorance regarding svn and git-svn, I hope my comments will
> be of some help to you or point you in the right direction.
>
> v/r,
> Neal
>