{"thread":{"id":"6603","subject":"[CFT] git-svn - almost a rewrite...","startedAt":"2007-02-01T13:29:34Z","lastAt":"2007-02-23T11:14:06Z","messageCount":6,"participants":["Eric Wong","Steven Grimm","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"33232","messageId":"20070201132934.GB7800@localdomain","threadId":"6603","inReplyTo":null,"subject":"[CFT] git-svn - almost a rewrite...","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-02-01T13:29:34Z","receivedAt":"2007-02-01T13:29:34Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"I wanted to better support multi-fetch and --follow-parent, but the\noriginal design of git-svn was strongly biased towards following a\nsingle path.  I ended up rewriting significant parts of it.\n\nNow git-svn uses .git/config for managing remote fetches (no wildcard\nsupport yet, unfortunately); making it easy to see what files.  With\nconnection minimization (git-svn migrate --minimize), git-svn can now\navoid unnecessary reconnections to repositories.\n\nWith a single connection, git-svn can finally multi-fetch\nchronologically, which means --follow-parent is much less likely to\nfetch redundant information.  Additionally, parents created by\n--follow-parent are no longer tracked on subsequent invocations\n(since we originally just wanted the child), so we avoid waisting\ntime fetching things we didn't ask for.\n\nNot strictly --follow-parent, but git-svn can now better track\npaths that have been deleted up to (but not including) the revision\nwhere it was deleted.\n\nfetch and multi-fetch is much better at figuring out if there's nothing\nto fetch, so repeatedly running 'git-svn multi-fetch' to get the latest\nchanges should be noticeably cheaper.\n\n--follow-parent is not yet the default, some more testing from others\nwould be nice.  --follow-parent is now greatly improved, as it\ncan follow into deleted directories as well as tracking subdirectories\nwith no explicit parent at its current level.\n\ngraft-branches is gone.  We could still implement merge-tracking the way\ngit-svnimport does since we multi-fetch chronologically now...\nVolunteers?\n\nI don't have any hacks using shorter-lived children to reduce memory\nusage anymore.  This was mainly to make development easier, but the Perl\nbindings for SVN 1.4.3 have fixed some memory leak issues from the delta\neditors.\n\nUnfortunately, do_switch() still does not work with SVN 1.4.3.\n\nSam Vilain's revprops tracking hasn't been merged yet, but I intend to\nsupport alternate SVN URLs/revnos from both svm:* revprops as well as\nbeing able to override the repository root path (file:// => http://\nfor public distribution).\n\nRepository available here, this is based against Junios git.git master:\n\n  git://git.bogomips.org/git-svn.git\n  http://git.bogomips.org/git-svn.git\n\nI *will* rebase the master here as I see fit...\n\nTo take full advantage of remote connection minimization, just run:\n\"git-svn migrate --minimize\" once and continue to add/edit remote\nrefspecs via .git/config.\n\nAs great as these changes sound, I don't feel they bring significant\nenough improvement to risk introducing brokeness for 1.5.0.  I would\nlike to wait until 1.5.0 has passed before merging into mainline.  I\nstill have _not_ used this version of git-svn for any real work yet.\n\nIt's way past my bed time so I may have missed a few things or written\nincoherently, but have fun with this anyways :)\n\n---\n Documentation/git-svn.txt         |   71 +-\n git-svn.perl                      | 4257 +++++++++++++++++++------------------\n t/t9100-git-svn-basic.sh          |   54 +-\n t/t9101-git-svn-props.sh          |   26 +\n t/t9103-git-svn-graft-branches.sh |   60 -\n t/t9104-git-svn-follow-parent.sh  |  126 ++-\n t/t9105-git-svn-commit-diff.sh    |    9 +\n t/t9107-git-svn-migrate.sh        |   92 +\n 8 files changed, 2467 insertions(+), 2228 deletions(-)\n\n---\nEric Wong (65):\n      git-svn: move authentication prompts into their own namespace\n      git-svn: cleanup: move process_rm around\n      git-svn: cleanup: put SVN workarounds into their own namespace\n      git-svn: cleanup: avoid re-use()ing Git.pm in sub-packages\n      git-svn: add Git::SVN module (to avoid global variables)\n      git-svn: convert 'init' to use Git::SVN\n      git-svn: convert multi-init over to using Git::SVN\n      git-svn: make multi-init capable of reusing the Ra connection\n      git-svn: add a test for show-ignore\n      git-svn: convert show-ignore over to Git::SVN\n      git-svn: moved the 'log' command into its own namespace\n      git-svn: port the 'rebuild' command to use Git::SVN objects\n      git-svn: do not let Git.pm warn if we prematurely close pipes\n      git-svn: convert the 'commit-diff' command to Git::SVN\n      git-svn: get rid of Memoize for now...\n      git-svn: fetch/multi-fetch converted over to Git::SVN module\n      git-svn: switch dcommit to using Git::SVN code\n      git-svn: convert 'set-tree' command to use Git::SVN\n      git-svn: remove graft-branches command\n      git-svn: add support for metadata in .git/config\n      git-svn: fix a regression in dcommit that caused empty log messages\n      git-svn: reuse open SVN::Ra connections by URL\n      git-svn: enable --minimize to simplify the config and connections\n      git-svn: fix --follow-parent to work with Git::SVN\n      git-svn: --follow-parent works with svn-remotes multiple branches\n      git-svn: disallow ambigious local refspecs\n      git-svn: allow --follow-parent on deleted directories\n      git-svn: get rid of additional fetch-arguments\n      git-svn: allow 'init' to work outside of tests\n      git-svn: better error reporting if --follow-parent fails\n      git-svn: 'init' attempts to connect to the repository root if possible\n      git-svn: --follow-parent now works on sub-directories of larger branches\n      git-svn: track writes writes to the index in fetch\n      git-svn: add an odd test case that seems to cause segfaults over HTTP\n      git-svn: avoid tracking change-less revisions\n      git-svn: correctly track revisions made to deleted branches\n      git-svn: fix segfaults from accessing svn_log_changed_path_t\n      git-svn: fix committing to subdirectories, add tests\n      git-svn: avoid an extra svn_ra connection during commits\n      git-svn: simplify usage of the SVN::Git::Editor interface\n      git-svn: cleanup remove unused function\n      git-svn: allow multi-fetch to fetch things chronologically\n      git-svn: correctly track diff-less copies with do_switch\n      git-svn: correctly handle do_{switch,update} in deep directories\n      git-svn: stop using path names as refnames with --follow-parent\n      git-svn: cleanup: move editor-specific variables into the editor namespace\n      git-svn: just use Digest::MD5 instead of requiring it\n      git-svn: reinstate the default SVN error handler after using get_log\n      git-svn: don't rely on do_switch + reparenting with svn(+ssh)://\n      git-svn: fetch tracks initial change with --follow-parent\n      git-svn: remove the 'rebuild' command and make the functionality automatic\n      git-svn: fix several fetch bugs related to repeated invocations\n      git-svn: reinstate --no-metadata, add --svn-remote=, variable cleanups\n      git-svn: gracefully handle --follow-parent failures\n      git-svn: make (multi-)fetch safer but slower\n      git-svn: avoid a huge memory spike with high-numbered revisions\n      git-svn: re-enable repacking flags\n      git-svn: do our best to ensure that our ref and rev_db are consistent\n      git-svn: avoid redundant get_log calls between invocations\n      git-svn: use sys* IO functions for reading rev_db\n      git-svn: don't write to the config file from --follow-parent\n      git-svn: save paths to tags/branches with for future reuse\n      git-svn: migrations default to [svn-remote \"git-svn\"]\n      git-svn: get rid of revisions_eq check for --follow-parent\n      git-svn: avoid extra get_log calls when refspecs are added for fetching\n\n-- \nEric Wong\n"},{"id":"33704","messageId":"45C83FB2.5060500@midwinter.com","threadId":"6603","inReplyTo":"20070201132934.GB7800@localdomain","subject":"Re: [CFT] git-svn - almost a rewrite...","fromName":"Steven Grimm","fromEmail":"koreth@midwinter.com","sentAt":"2007-02-06T08:43:30Z","receivedAt":"2007-02-06T08:43:30Z","isPatch":false,"sender":{"key":"koreth@midwinter.com","avatar":"https://gravatar.com/avatar/71b4d2e8b62f168bdc9e9205341159e3567003b4f9e2127c617c5fa0a1f5bad2?d=mp&s=160"},"body":"FYI, I tried this with our big Subversion repo and, even without \n--follow-parent, it fixed the problem I reported a while back with files \nnot getting deleted from the git repo when they vanished in svn due to a \nbranch rename. If I do git-svn fetch with the old version, I see the \nextra files, and with the new version I don't. Nice.\n\n-Steve\n\n\nEric Wong wrote:\n> I wanted to better support multi-fetch and --follow-parent, but the\n> original design of git-svn was strongly biased towards following a\n> single path.  I ended up rewriting significant parts of it.\n>\n> Now git-svn uses .git/config for managing remote fetches (no wildcard\n> support yet, unfortunately); making it easy to see what files.  With\n> connection minimization (git-svn migrate --minimize), git-svn can now\n> avoid unnecessary reconnections to repositories.\n>\n> With a single connection, git-svn can finally multi-fetch\n> chronologically, which means --follow-parent is much less likely to\n> fetch redundant information.  Additionally, parents created by\n> --follow-parent are no longer tracked on subsequent invocations\n> (since we originally just wanted the child), so we avoid waisting\n> time fetching things we didn't ask for.\n>\n> Not strictly --follow-parent, but git-svn can now better track\n> paths that have been deleted up to (but not including) the revision\n> where it was deleted.\n>\n> fetch and multi-fetch is much better at figuring out if there's nothing\n> to fetch, so repeatedly running 'git-svn multi-fetch' to get the latest\n> changes should be noticeably cheaper.\n>\n> --follow-parent is not yet the default, some more testing from others\n> would be nice.  --follow-parent is now greatly improved, as it\n> can follow into deleted directories as well as tracking subdirectories\n> with no explicit parent at its current level.\n>\n> graft-branches is gone.  We could still implement merge-tracking the way\n> git-svnimport does since we multi-fetch chronologically now...\n> Volunteers?\n>\n> I don't have any hacks using shorter-lived children to reduce memory\n> usage anymore.  This was mainly to make development easier, but the Perl\n> bindings for SVN 1.4.3 have fixed some memory leak issues from the delta\n> editors.\n>\n> Unfortunately, do_switch() still does not work with SVN 1.4.3.\n>\n> Sam Vilain's revprops tracking hasn't been merged yet, but I intend to\n> support alternate SVN URLs/revnos from both svm:* revprops as well as\n> being able to override the repository root path (file:// => http://\n> for public distribution).\n>\n> Repository available here, this is based against Junios git.git master:\n>\n>   git://git.bogomips.org/git-svn.git\n>   http://git.bogomips.org/git-svn.git\n>\n> I *will* rebase the master here as I see fit...\n>\n> To take full advantage of remote connection minimization, just run:\n> \"git-svn migrate --minimize\" once and continue to add/edit remote\n> refspecs via .git/config.\n>\n> As great as these changes sound, I don't feel they bring significant\n> enough improvement to risk introducing brokeness for 1.5.0.  I would\n> like to wait until 1.5.0 has passed before merging into mainline.  I\n> still have _not_ used this version of git-svn for any real work yet.\n>\n> It's way past my bed time so I may have missed a few things or written\n> incoherently, but have fun with this anyways :)\n>\n> ---\n>  Documentation/git-svn.txt         |   71 +-\n>  git-svn.perl                      | 4257 +++++++++++++++++++------------------\n>  t/t9100-git-svn-basic.sh          |   54 +-\n>  t/t9101-git-svn-props.sh          |   26 +\n>  t/t9103-git-svn-graft-branches.sh |   60 -\n>  t/t9104-git-svn-follow-parent.sh  |  126 ++-\n>  t/t9105-git-svn-commit-diff.sh    |    9 +\n>  t/t9107-git-svn-migrate.sh        |   92 +\n>  8 files changed, 2467 insertions(+), 2228 deletions(-)\n>\n> ---\n> Eric Wong (65):\n>       git-svn: move authentication prompts into their own namespace\n>       git-svn: cleanup: move process_rm around\n>       git-svn: cleanup: put SVN workarounds into their own namespace\n>       git-svn: cleanup: avoid re-use()ing Git.pm in sub-packages\n>       git-svn: add Git::SVN module (to avoid global variables)\n>       git-svn: convert 'init' to use Git::SVN\n>       git-svn: convert multi-init over to using Git::SVN\n>       git-svn: make multi-init capable of reusing the Ra connection\n>       git-svn: add a test for show-ignore\n>       git-svn: convert show-ignore over to Git::SVN\n>       git-svn: moved the 'log' command into its own namespace\n>       git-svn: port the 'rebuild' command to use Git::SVN objects\n>       git-svn: do not let Git.pm warn if we prematurely close pipes\n>       git-svn: convert the 'commit-diff' command to Git::SVN\n>       git-svn: get rid of Memoize for now...\n>       git-svn: fetch/multi-fetch converted over to Git::SVN module\n>       git-svn: switch dcommit to using Git::SVN code\n>       git-svn: convert 'set-tree' command to use Git::SVN\n>       git-svn: remove graft-branches command\n>       git-svn: add support for metadata in .git/config\n>       git-svn: fix a regression in dcommit that caused empty log messages\n>       git-svn: reuse open SVN::Ra connections by URL\n>       git-svn: enable --minimize to simplify the config and connections\n>       git-svn: fix --follow-parent to work with Git::SVN\n>       git-svn: --follow-parent works with svn-remotes multiple branches\n>       git-svn: disallow ambigious local refspecs\n>       git-svn: allow --follow-parent on deleted directories\n>       git-svn: get rid of additional fetch-arguments\n>       git-svn: allow 'init' to work outside of tests\n>       git-svn: better error reporting if --follow-parent fails\n>       git-svn: 'init' attempts to connect to the repository root if possible\n>       git-svn: --follow-parent now works on sub-directories of larger branches\n>       git-svn: track writes writes to the index in fetch\n>       git-svn: add an odd test case that seems to cause segfaults over HTTP\n>       git-svn: avoid tracking change-less revisions\n>       git-svn: correctly track revisions made to deleted branches\n>       git-svn: fix segfaults from accessing svn_log_changed_path_t\n>       git-svn: fix committing to subdirectories, add tests\n>       git-svn: avoid an extra svn_ra connection during commits\n>       git-svn: simplify usage of the SVN::Git::Editor interface\n>       git-svn: cleanup remove unused function\n>       git-svn: allow multi-fetch to fetch things chronologically\n>       git-svn: correctly track diff-less copies with do_switch\n>       git-svn: correctly handle do_{switch,update} in deep directories\n>       git-svn: stop using path names as refnames with --follow-parent\n>       git-svn: cleanup: move editor-specific variables into the editor namespace\n>       git-svn: just use Digest::MD5 instead of requiring it\n>       git-svn: reinstate the default SVN error handler after using get_log\n>       git-svn: don't rely on do_switch + reparenting with svn(+ssh)://\n>       git-svn: fetch tracks initial change with --follow-parent\n>       git-svn: remove the 'rebuild' command and make the functionality automatic\n>       git-svn: fix several fetch bugs related to repeated invocations\n>       git-svn: reinstate --no-metadata, add --svn-remote=, variable cleanups\n>       git-svn: gracefully handle --follow-parent failures\n>       git-svn: make (multi-)fetch safer but slower\n>       git-svn: avoid a huge memory spike with high-numbered revisions\n>       git-svn: re-enable repacking flags\n>       git-svn: do our best to ensure that our ref and rev_db are consistent\n>       git-svn: avoid redundant get_log calls between invocations\n>       git-svn: use sys* IO functions for reading rev_db\n>       git-svn: don't write to the config file from --follow-parent\n>       git-svn: save paths to tags/branches with for future reuse\n>       git-svn: migrations default to [svn-remote \"git-svn\"]\n>       git-svn: get rid of revisions_eq check for --follow-parent\n>       git-svn: avoid extra get_log calls when refspecs are added for fetching\n>\n>   \n"},{"id":"34758","messageId":"20070216020935.GA21483@localdomain","threadId":"6603","inReplyTo":"20070201132934.GB7800@localdomain","subject":"Re: [CFT] git-svn - almost a rewrite...","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-02-16T02:09:35Z","receivedAt":"2007-02-16T02:09:35Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Eric Wong <normalperson@yhbt.net> wrote:\n> Repository available here, this is based against Junios git.git master:\n> \n>   git://git.bogomips.org/git-svn.git\n>   http://git.bogomips.org/git-svn.git\n\n> As great as these changes sound, I don't feel they bring significant\n> enough improvement to risk introducing brokeness for 1.5.0.  I would\n> like to wait until 1.5.0 has passed before merging into mainline.  I\n> still have _not_ used this version of git-svn for any real work yet.\n\nI've been dogfooding my current version today and it everything seems to\nbe working as expected.\n\nI'm glad I didn't introduce it into 1.5.0, however; as I introduced (but\nlater fixed) a major bug between Saturday and Wednesday where revisions\nwere being skipped.\n\n-- \nEric Wong\n"},{"id":"35098","messageId":"20070220094550.GA16866@mayonaise.dyndns.org","threadId":"6603","inReplyTo":"20070201132934.GB7800@localdomain","subject":"Re: [CFT] git-svn - almost a rewrite...","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-02-20T09:45:51Z","receivedAt":"2007-02-20T09:45:51Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Eric Wong <normalperson@yhbt.net> wrote:\n> I wanted to better support multi-fetch and --follow-parent, but the\n\nI've deprecated the names 'multi-fetch' and 'multi-init'; however the\nfunctionality they support have been integrated into the 'init' and\n'fetch' commands.\n\n> Now git-svn uses .git/config for managing remote fetches (no wildcard\n> support yet, unfortunately); making it easy to see what files.  With\n> connection minimization (git-svn migrate --minimize), git-svn can now\n> avoid unnecessary reconnections to repositories.\n\nWildcards for branches and tags are now supported.  (multi-)init -b/-t will\ncreate something like this now:\n\n[svn-remote \"svn\"]\n\turl = http://server.org/svn\n\tbranches = branches/*/project-a:refs/remotes/*\n\ttags = tags/*/project-a:refs/remotes/tags/*\n\ttrunk = trunk/project-a:refs/remotes/trunk\n\n> --follow-parent is not yet the default, some more testing from others\n> would be nice.  --follow-parent is now greatly improved, as it\n> can follow into deleted directories as well as tracking subdirectories\n> with no explicit parent at its current level.\n\nI've made --follow-parent the default now.  --no-follow-parent reverts\nback to the old default behavior.\n\n> Sam Vilain's revprops tracking hasn't been merged yet, but I intend to\n> support alternate SVN URLs/revnos from both svm:* revprops as well as\n> being able to override the repository root path (file:// => http://\n> for public distribution).\n\nThis is in, as is the analogous functionality for svnsync.  Please note\nthat these features do add some complexity to how dcommit works which\nI haven't explored much of.  Perhaps Sam knows better what to do with\nit.\n\n> Repository available here, this is based against Junios git.git master:\n> \n>   git://git.bogomips.org/git-svn.git\n>   http://git.bogomips.org/git-svn.git\n> \n> I *will* rebase the master here as I see fit...\n\nNew changes pushed out.\n\n> To take full advantage of remote connection minimization, just run:\n> \"git-svn migrate --minimize\" once and continue to add/edit remote\n> refspecs via .git/config.\n> \n> As great as these changes sound, I don't feel they bring significant\n> enough improvement to risk introducing brokeness for 1.5.0.  I would\n> like to wait until 1.5.0 has passed before merging into mainline.  I\n> still have _not_ used this version of git-svn for any real work yet.\n\nAfter a few days of dogfooding and nothing breaking; I'd say it's ready\nfor merging into mainline git.  One last minute change I made while\nwriting this announcement was supporting invocations from\nsubdirectories.\n\nThere's a lot of changes in here; so I don't think I'll bomb the\nmailing list with 113 patches.  Feel free to fetch or clone from\nthe repositories given above.\n\nEric Wong (112):\n      git-svn: move authentication prompts into their own namespace\n      git-svn: cleanup: move process_rm around\n      git-svn: cleanup: put SVN workarounds into their own namespace\n      git-svn: cleanup: avoid re-use()ing Git.pm in sub-packages\n      git-svn: add Git::SVN module (to avoid global variables)\n      git-svn: convert 'init' to use Git::SVN\n      git-svn: convert multi-init over to using Git::SVN\n      git-svn: make multi-init capable of reusing the Ra connection\n      git-svn: add a test for show-ignore\n      git-svn: convert show-ignore over to Git::SVN\n      git-svn: moved the 'log' command into its own namespace\n      git-svn: port the 'rebuild' command to use Git::SVN objects\n      git-svn: do not let Git.pm warn if we prematurely close pipes\n      git-svn: convert the 'commit-diff' command to Git::SVN\n      git-svn: get rid of Memoize for now...\n      git-svn: fetch/multi-fetch converted over to Git::SVN module\n      git-svn: switch dcommit to using Git::SVN code\n      git-svn: convert 'set-tree' command to use Git::SVN\n      git-svn: remove graft-branches command\n      git-svn: add support for metadata in .git/config\n      git-svn: fix a regression in dcommit that caused empty log messages\n      git-svn: reuse open SVN::Ra connections by URL\n      git-svn: enable --minimize to simplify the config and connections\n      git-svn: fix --follow-parent to work with Git::SVN\n      git-svn: --follow-parent works with svn-remotes multiple branches\n      git-svn: disallow ambigious local refspecs\n      git-svn: allow --follow-parent on deleted directories\n      git-svn: get rid of additional fetch-arguments\n      git-svn: allow 'init' to work outside of tests\n      git-svn: better error reporting if --follow-parent fails\n      git-svn: 'init' attempts to connect to the repository root if possible\n      git-svn: --follow-parent now works on sub-directories of larger branches\n      git-svn: track writes writes to the index in fetch\n      git-svn: add an odd test case that seems to cause segfaults over HTTP\n      git-svn: avoid tracking change-less revisions\n      git-svn: correctly track revisions made to deleted branches\n      git-svn: fix segfaults from accessing svn_log_changed_path_t\n      git-svn: fix committing to subdirectories, add tests\n      git-svn: avoid an extra svn_ra connection during commits\n      git-svn: simplify usage of the SVN::Git::Editor interface\n      git-svn: cleanup remove unused function\n      git-svn: allow multi-fetch to fetch things chronologically\n      git-svn: correctly track diff-less copies with do_switch\n      git-svn: correctly handle do_{switch,update} in deep directories\n      git-svn: stop using path names as refnames with --follow-parent\n      git-svn: cleanup: move editor-specific variables into the editor namespace\n      git-svn: just use Digest::MD5 instead of requiring it\n      git-svn: reinstate the default SVN error handler after using get_log\n      git-svn: don't rely on do_switch + reparenting with svn(+ssh)://\n      git-svn: fetch tracks initial change with --follow-parent\n      git-svn: remove the 'rebuild' command and make the functionality automatic\n      git-svn: fix several fetch bugs related to repeated invocations\n      git-svn: reinstate --no-metadata, add --svn-remote=, variable cleanups\n      git-svn: gracefully handle --follow-parent failures\n      git-svn: make (multi-)fetch safer but slower\n      git-svn: avoid a huge memory spike with high-numbered revisions\n      git-svn: re-enable repacking flags\n      git-svn: do our best to ensure that our ref and rev_db are consistent\n      git-svn: avoid redundant get_log calls between invocations\n      git-svn: use sys* IO functions for reading rev_db\n      git-svn: don't write to the config file from --follow-parent\n      git-svn: save paths to tags/branches with for future reuse\n      git-svn: migrations default to [svn-remote \"git-svn\"]\n      git-svn: get rid of revisions_eq check for --follow-parent\n      git-svn: avoid extra get_log calls when refspecs are added for fetching\n      git-svn: just name the default svn-remote \"svn\" instead of \"git-svn\"\n      git-svn: prepare multi-init for wildcard support\n      git-svn: reintroduce using a single get_log() to fetch\n      git-svn: run get_log() on a sub-directory if possible\n      git-svn: implement auto-discovery of branches/tags\n      git-svn: --follow-parent tracks multi-parent paths\n      git-svn: remove check_path calls before calling do_update\n      git-svn: remove some noisy debugging messages\n      git-svn: enable follow-parent functionality by default\n      git-svn: fix buggy regular expression usage in several places\n      git-svn: correctly handle the -q flag in SVN::Git::Fetcher\n      git-svn: correctly handle globs with a right-hand-side path component\n      git-svn: remove optimized commit stuff for set-tree\n      git-svn: add support for SVN::Mirror/svk using revprops for metadata\n      git-svn: add support for per-[svn-remote \"...\"] options\n      git-svn: use private $GIT_DIR/svn/config file more\n      git-svn: extra safety for noMetadata and useSvmProps users\n      git-svn: use separate, per-repository .rev_db files\n      git-svn: write the highest maxRex out for branches and tags\n      git-svn: handle multi-init without --trunk, UseSvmProps fixes\n      git-svn: make dcommit usable for glob users\n      git-svn: include merges when calling rev-list for decommit\n      git-svn: usability fixes for the 'git svn log' command\n      t910*: s/repo-config/config/g; poke around possible race conditions\n      git-svn: hopefully make 'fetch' more user-friendly\n      git-svn: allow 'init' to act as multi-init\n      git-svn: brown paper bag fixes\n      git-svn: simplify the (multi-)init methods of fetching\n      git-svn: allow --log-window-size to be specified, default to 100\n      git-svn: remember to check for clean indices on globbed refs, too\n      git-svn: error checking for invalid [svn-remote \"...\"] sections\n      git-svn: allow dcommit for those who only fetch from SVM with useSvmProps\n      git-svn: documentation updates for new functionality\n      git-svn: add support for --stat in the log command\n      git-svn: checkout files on new fetches\n      git-svn: add a 'rebase' command\n      git-svn: fix some issues for people migrating from older versions\n      git-svn: hide the private git-svn 'config' file as '.metadata'\n      git-svn: add 'clone' command, an alias for init + fetch\n      git-svn: allow overriding of the SVN repo root in metadata\n      git-svn: add support for using svnsync properties\n      git-svn: fix useSvmProps, hopefully for the last time\n      git-svn: add test for useSvnsyncProps\n      git-svn: documentation updates\n      git-svn: allow metadata options to be specified with 'init' and 'clone'\n      git-svn: give show-ignore HEAD smarts, like dcommit and log\n      git-svn: ensure we're at the top-level and can access $GIT_DIR\n\nsam@vilain.net (1):\n      git-svn: make test for SVK mirror path import\n\n-- \nEric Wong\n"},{"id":"35316","messageId":"20070223104049.GA2326@mayonaise.dyndns.org","threadId":"6603","inReplyTo":"20070201132934.GB7800@localdomain","subject":"Re: [CFT] git-svn - almost a rewrite...","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-02-23T10:40:49Z","receivedAt":"2007-02-23T10:40:49Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Junio:\nPlease pull the HEAD of git://bogomips.org/git-svn.git into\nyour master, thanks.\n\nI have found several bugs since the last announcement and fixed\nthem.  Additionally Sam has provided some patches to get rid\nof the username in the metadata URL.\n\nEric Wong (3):\n      git-svn: fix clone when a target directory has been specified\n      git-svn: fix reconnections to different paths of svn:// repositories\n      git-svn: fix some potential bugs with --follow-parent\n\nSam Vilain (2):\n      git-svn: don't consider SVN URL usernames significant when comparing\n      git-svn: document --username\n\n-- \nEric Wong\n"},{"id":"35319","messageId":"7vwt293z41.fsf@assigned-by-dhcp.cox.net","threadId":"6603","inReplyTo":"20070223104049.GA2326@mayonaise.dyndns.org","subject":"Re: [CFT] git-svn - almost a rewrite...","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-02-23T11:14:06Z","receivedAt":"2007-02-23T11:14:06Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Wong <normalperson@yhbt.net> writes:\n\n> Please pull the HEAD of git://bogomips.org/git-svn.git into\n> your master, thanks.\n\nPulled and pushed out.  Thanks.\n\nI was holding out because I saw several times that you rewound\nand rebuilt that branch this week.\n"}]}