git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: How to clone git repository with git-svn meta-data included?

From
Grzegorz Kossakowski <grek@tuffmail.com>
Date
Dec 7, 2008, 22:02 UTC
Message-ID
<493C47FD.4080302@tuffmail.com>
In-Reply-To
<eaa105840812071230l5e8d54bcg21b36019711bc3cd@mail.gmail.com>
Peter Harris pisze:
Show 6 quoted lines
> After the git clone, I do the following:
> git svn init -s svn://repo/sitory
> git svn rebase
> 
> No data is transferred[1], although 'git svn rebase' does spend a
> minute or so reading the commit messages to rebuild its index.

I've tried this method with Cocoon repository (http://jukka.zitting.name/git/?p=cocoon.git;a=summary) and got this error:

git clone git://jukka.zitting.name/cocoon.git git svn init -s https://svn.eu.apache.org/repos/asf/cocoon/ git svn rebase Unable to determine upstream SVN information from working tree history

git --version git version 1.6.0.2

Any idea what's wrong here?
> This could all be in a common script you distribute to your users.
Good suggestion.
> "git help svn" mentions the rebuild only in passing. I'm not sure if
> it is described in better detail elsewhere.
Ah, I didn't spot this earlier. Thanks.
Show 10 quoted lines
> If something is in A's tree, it is coming from A. Either A has
> authority, or A has received authority from someone else, or A is
> bringing the legal problem down on himself. When A says "Please Pull"
> (or when A pushes) A is effectively saying "These changes are legally
> mine to give you".
> 
> The Developer's Certificate of Origin 1.0 was designed to address this
> issue; see also "Signed-off-by"
> 
> Of course, if it's a legal issue, make sure you consult your own lawyer.
I see. Thanks for insightful comments.
Show 6 quoted lines
>>> You could maybe use signed tags ("git help tag")...
>> The question is why Git doesn't sign all commits by default but only tags? Creating tags all the
>> time is rather tedious process and seems to have no sense, right?
> 
> Typing in your GPG passphrase for every single little commit would be
> even more tedious, IMHO.
Yep, that's true.
Show 5 quoted lines
>> Does it mean that with current Git design it's the best to not use advanced features of Git like
>> tree merging but simply go with posting e-mails with patches instead if contributors cannot be trusted?
> 
> That would be my policy. At the very least, I would have a human
> review the tree before merging it.
Agreed.
Show 7 quoted lines
> Note that git was designed around a "git am" workflow, so it is very
> efficient at dealing with large numbers of patches at a time.
> 
> Note also that you can do tree merging with an email-patch based
> workflow, since git format-patch preserves parent information,
> although it does take a little bit more work. See also: "git help am"
> under --3way.

Thanks for all your valuable information. As soon as I resolve problem with git svn rebase I'll start reading on how git am --3way works.

-- 
Best regards,
Grzegorz Kossakowski
Previous: Peter HarrisNext: Peter Harris
Message 7 of 17 in “How to clone git repository with git-svn meta-data included?”
  1. Grzegorz KossakowskiDec 6, 2008
  2. Jacob HelwigDec 7, 2008
  3. Nick AndrewDec 8, 2008
  4. Peter HarrisDec 7, 2008
  5. Grzegorz KossakowskiDec 7, 2008
  6. Peter HarrisDec 7, 2008
  7. Grzegorz KossakowskiDec 7, 2008
  8. Peter HarrisDec 7, 2008
  9. Michael J GruberDec 8, 2008
  10. Grzegorz KossakowskiDec 8, 2008
  11. Peter HarrisDec 8, 2008
  12. Grzegorz KossakowskiDec 8, 2008
  13. Sam VilainDec 9, 2008
  14. Grzegorz KossakowskiDec 9, 2008
  15. Michael J GruberDec 9, 2008
  16. Shawn O. PearceDec 8, 2008
  17. Grzegorz KossakowskiDec 8, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.