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

Re: [PATCH] git-svn: introduce --parents parameter for commands branch and tag

From
EWEric Wong <normalperson@yhbt.net>
Date
May 15, 2013, 02:35 UTC
Message-ID
<20130515023547.GA21987@dcvr.yhbt.net>
In-Reply-To
<1368476549-17886-1-git-send-email-tobias.schulte@gliderpilot.de>
Tobias Schulte <tobias.schulte@gliderpilot.de> wrote:
> This parameter is equivalent to the parameter --parents on svn cp commands
> and is useful for non-standard repository layouts.
This looks useful.  A few minor cosmetic issues.
Show 9 quoted lines
> +++ b/Documentation/git-svn.txt
> @@ -298,6 +298,11 @@ where <name> is the name of the SVN repository as specified by the -R option to
>  	git config --get-all svn-remote.<name>.commiturl
>  +
>  
> +--parents;;
> +	Create parent folders. This parameter is equivalent to the parameter 
> +	--parents on svn cp commands and is useful for non-standard repository 
> +	layouts.
Trailing whitespace.
> +sub mk_parent_dirs {
> +	my $ctx = shift;
> +	my $parent = shift;
I prefer declaring multiple variables from arguments as:
	my ($ctx, $parent) = @_;
> +	$parent =~ s/\/[^\/]*$//;

You can avoid leaning toothpick syndrome (escaping '/') by specifying alternate delimiters:

	$parent =~ s{/[^/]*$}{};
ref: perlop(1)
Show 5 quoted lines
> +	if (!eval{$ctx->ls($parent, 'HEAD', 0)}) {
> +		mk_parent_dirs($ctx, $parent);
> +		print "Creating parent folder ${parent} ...\n";
> +		$ctx->mkdir($parent)
> +			unless $_dry_run;
The newline is confusing, I prefer:
		$ctx->mkdir($parent) unless $_dry_run;
Howeve :
	if (!$_dry_run) {
		$ctx->mkdir($parent);
	}
May be preferred, too (especially for the non-Perl-fluent)
> +++ b/t/t9167-git-svn-cmd-branch-subproject.sh
Show 8 quoted lines
> +test_expect_success 'initialize svnrepo' '
> +    mkdir import &&
> +    (
> +        (cd import &&
> +        mkdir -p trunk/project branches tags &&
> +        (cd trunk/project &&
> +        echo foo > foo
> +        ) &&
Tabs for all indentation, and indent consistently for subshells:
	mkdir import &&
	(
		cd import &&
		mkdir .. &&
		(
			cd .. &&
			..
		)
	)
We use subshells + cd like this so it's easier to read/maintain.
Thanks again, looking forward to applying v2.
Previous: Tobias SchulteNext: Tobias Schulte
Message 2 of 8 in “git-svn: introduce --parents parameter for commands branch and tag”
  1. git-svn: introduce --parents parameter for commands branch and tagTobias Schulte, May 13, 2013
  2. Eric WongMay 15, 2013
  3. Tobias SchulteMay 15, 2013
  4. git-svn: introduce --parents parameter for commands branch and tagTobias Schulte, May 15, 2013
  5. Eric WongMay 20, 2013
  6. Junio C HamanoMay 20, 2013
  7. Eric WongMay 20, 2013
  8. Junio C HamanoMay 20, 2013

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.