git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes
@ 2011-05-28  9:54 Jakub Narebski
  2011-05-28 13:30 ` Arnaud Lacurie
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Jakub Narebski @ 2011-05-28  9:54 UTC (permalink / raw
  To: git; +Cc: Eric Wong

Now that git supports annotating comments with `git notes` utility,
could we have an option to git-svn which would make it store SVN 
metadata, i.e. git-svn-id: lines using git-notes (separate svnmetadata 
or git-svn notes ref)?

This way we wouldn't have those ugly git-svn-id lines in log (unless 
requested), and droping them would be as simple as deleting ref - no 
history rewriting required.

Of course this requires git-svn to make use of those notes to get SVN 
metadata...


Eric, from what I remember you don't have time nor inclination for 
adding new features to git-svn, is it?

-- 
Jakub Narebski
Poland

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes
  2011-05-28  9:54 [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes Jakub Narebski
@ 2011-05-28 13:30 ` Arnaud Lacurie
  2011-05-28 15:55 ` Ævar Arnfjörð Bjarmason
  2011-05-31  4:53 ` Eric Wong
  2 siblings, 0 replies; 8+ messages in thread
From: Arnaud Lacurie @ 2011-05-28 13:30 UTC (permalink / raw
  To: Jakub Narebski; +Cc: git, Eric Wong

2011/5/28 Jakub Narebski <jnareb@gmail.com>:
> Now that git supports annotating comments with `git notes` utility,
> could we have an option to git-svn which would make it store SVN
> metadata, i.e. git-svn-id: lines using git-notes (separate svnmetadata
> or git-svn notes ref)?

I think that it's a great idea, it would make git-svn more like git
itself without poisoning the git log indeed.
We're trying to do this with the gate between git and mediawiki :
http://www.spinics.net/lists/git/msg158701.html.
When it's done, feel free to have a look at the code. Doing it with
git-svn should be similar.

-- 
Arnaud Lacurie

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes
  2011-05-28  9:54 [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes Jakub Narebski
  2011-05-28 13:30 ` Arnaud Lacurie
@ 2011-05-28 15:55 ` Ævar Arnfjörð Bjarmason
  2011-05-28 16:37   ` Jakub Narebski
  2011-05-29  6:37   ` Dave Zarzycki
  2011-05-31  4:53 ` Eric Wong
  2 siblings, 2 replies; 8+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2011-05-28 15:55 UTC (permalink / raw
  To: Jakub Narebski; +Cc: git, Eric Wong

2011/5/28 Jakub Narebski <jnareb@gmail.com>:
> Now that git supports annotating comments with `git notes` utility,
> could we have an option to git-svn which would make it store SVN
> metadata, i.e. git-svn-id: lines using git-notes (separate svnmetadata
> or git-svn notes ref)?

One good thing about git-svn's current system is that you can easily
share your repository with someone else, and they can bootstrap from
the same commits.

Has the sharing of git-notes been improved to the point where that
could be done similarly transparently?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes
  2011-05-28 15:55 ` Ævar Arnfjörð Bjarmason
@ 2011-05-28 16:37   ` Jakub Narebski
  2011-05-29  6:37   ` Dave Zarzycki
  1 sibling, 0 replies; 8+ messages in thread
From: Jakub Narebski @ 2011-05-28 16:37 UTC (permalink / raw
  To: Ævar Arnfjörð Bjarmason; +Cc: git, Eric Wong

On Sat, 28 May 2011, Ævar Arnfjörð Bjarmason wrote:
> 2011/5/28 Jakub Narebski <jnareb@gmail.com>:

> > Now that git supports annotating comments with `git notes` utility,
> > could we have an option to git-svn which would make it store SVN
> > metadata, i.e. git-svn-id: lines using git-notes (separate svnmetadata
> > or git-svn notes ref)?
> 
> One good thing about git-svn's current system is that you can easily
> share your repository with someone else, and they can bootstrap from
> the same commits.

How it works with svn-dcommit rewriting commits?
 
> Has the sharing of git-notes been improved to the point where that
> could be done similarly transparently?
 
First, the idea was to do it optionally.  In addition to existing and
discouraged `svn.noMetadata` / `--no-metadata` git-svn would acquire
`svn.metadata` / `--metadata` / `--svn-metadata` = none | notes | commits
that would as one option put 'git-svn-id:' lines or their equivalent
to git notes.

Second, from what I understand from the very beginning git-notes 
was designed in such way that sharing notes is sharing ref.
git-replace shares this feature.

But please take above with a grain of salt, having never used notes
before, and not being developer of this subsystem.
-- 
Jakub Narebski
Poland

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes
  2011-05-28 15:55 ` Ævar Arnfjörð Bjarmason
  2011-05-28 16:37   ` Jakub Narebski
@ 2011-05-29  6:37   ` Dave Zarzycki
  1 sibling, 0 replies; 8+ messages in thread
From: Dave Zarzycki @ 2011-05-29  6:37 UTC (permalink / raw
  To: git

On May 28, 2011, at 8:55 AM, Ævar Arnfjörð Bjarmason wrote:

> One good thing about git-svn's current system is that you can easily
> share your repository with someone else, and they can bootstrap from
> the same commits.

I wish that was practical for some projects.

It would be a huge improvement if git-svn could fully incorporate *all* of the metadata that it needs into native git objects (notes/tags/something). That way a git clone of a git-svn repository doesn't need to re-bootstrap anything. :-)

For example, a project that I follow has 26k branches (one per bug fix due to organizational workflow/policy). The project took five days to "git svn clone -s" and the re-bootstrap after blowing away the .git/svn directory is similarly painful. Why? Well, let's consider how much data must be rebuilt:

$ git svn gc
$ find */.git/svn -type f -name unhandled.log.gz -print0 | xargs -0 rm
$ du -sh .git/svn
445M	.git/svn
$ find .git/svn | wc -l
   52467
$ 

Crazy, huh?

davez


P.S. -- To the credit of git, the space savings are incredible for this project. The svn repository is 33.6 GiB vs 133.2 MiB for git (minus git-svn and git-reflog overhead). That's ~260x!

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes
  2011-05-28  9:54 [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes Jakub Narebski
  2011-05-28 13:30 ` Arnaud Lacurie
  2011-05-28 15:55 ` Ævar Arnfjörð Bjarmason
@ 2011-05-31  4:53 ` Eric Wong
  2011-05-31  7:20   ` Jakub Narebski
  2011-05-31  8:25   ` Michael Haggerty
  2 siblings, 2 replies; 8+ messages in thread
From: Eric Wong @ 2011-05-31  4:53 UTC (permalink / raw
  To: Jakub Narebski; +Cc: git

Jakub Narebski <jnareb@gmail.com> wrote:
> Eric, from what I remember you don't have time nor inclination for 
> adding new features to git-svn, is it?

Yes, that's mostly the case.  I suggest anybody interested in working on
git-svn further to split out the Perl modules into separate files before
doing any more work on it.

-- 
Eric Wong

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes
  2011-05-31  4:53 ` Eric Wong
@ 2011-05-31  7:20   ` Jakub Narebski
  2011-05-31  8:25   ` Michael Haggerty
  1 sibling, 0 replies; 8+ messages in thread
From: Jakub Narebski @ 2011-05-31  7:20 UTC (permalink / raw
  To: Eric Wong; +Cc: git

On Tue, 31 May 2011, Eric Wong wrote:
> Jakub Narebski <jnareb@gmail.com> wrote:

> > Eric, from what I remember you don't have time nor inclination for 
> > adding new features to git-svn, is it?
> 
> Yes, that's mostly the case.  I suggest anybody interested in working on
> git-svn further to split out the Perl modules into separate files before
> doing any more work on it.

Could you please at least review patches?  Would you have enough time
(and inclination) to do at least this?

TIA
-- 
Jakub Narebski
Poland

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes
  2011-05-31  4:53 ` Eric Wong
  2011-05-31  7:20   ` Jakub Narebski
@ 2011-05-31  8:25   ` Michael Haggerty
  1 sibling, 0 replies; 8+ messages in thread
From: Michael Haggerty @ 2011-05-31  8:25 UTC (permalink / raw
  To: Eric Wong; +Cc: Jakub Narebski, git

On 05/31/2011 06:53 AM, Eric Wong wrote:
> Jakub Narebski <jnareb@gmail.com> wrote:
>> Eric, from what I remember you don't have time nor inclination for 
>> adding new features to git-svn, is it?
> 
> Yes, that's mostly the case.  I suggest anybody interested in working on
> git-svn further to split out the Perl modules into separate files before
> doing any more work on it.

What kind of design documentation is available for git-svn?  Is there
any documentation about the format and contents of the files that
git-svn uses?

Such documentation would make it a lot easier for new developers to get
involved.

Michael

-- 
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-05-31  8:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-28  9:54 [RFD] Proposal for git-svn: storing SVN metadata (git-svn-id) in notes Jakub Narebski
2011-05-28 13:30 ` Arnaud Lacurie
2011-05-28 15:55 ` Ævar Arnfjörð Bjarmason
2011-05-28 16:37   ` Jakub Narebski
2011-05-29  6:37   ` Dave Zarzycki
2011-05-31  4:53 ` Eric Wong
2011-05-31  7:20   ` Jakub Narebski
2011-05-31  8:25   ` Michael Haggerty

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).