Re: [PATCH] cvsexportcommit: Create config option for CVS dir
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 21, 2008, 19:51 UTC
- Message-ID
- <7vprrf1lmd.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <1210282015-20872-1-git-send-email-tpiepho@freescale.com>
Last night I was going through old mail-logs and found this, which I think would be nice. Does anybody see anything wrong with the patch?
Trent Piepho <tpiepho@freescale.com> writes:
Show 58 quoted lines
> For a given project the directory used with the -w option is almost always
> the same each time. Let it be specified with 'cvsexportcommit.cvsdir' so
> it's not necessary to manually add it with -w each time.
>
> Signed-off-by: Trent Piepho <tpiepho@freescale.com>
> ---
> Documentation/git-cvsexportcommit.txt | 8 +++++++-
> git-cvsexportcommit.perl | 5 +++++
> 2 files changed, 12 insertions(+), 1 deletions(-)
>
> diff --git a/Documentation/git-cvsexportcommit.txt b/Documentation/git-cvsexportcommit.txt
> index 9a47b4c..363c36d 100644
> --- a/Documentation/git-cvsexportcommit.txt
> +++ b/Documentation/git-cvsexportcommit.txt
> @@ -65,11 +65,17 @@ OPTIONS
> -w::
> Specify the location of the CVS checkout to use for the export. This
> option does not require GIT_DIR to be set before execution if the
> - current directory is within a git repository.
> + current directory is within a git repository. The default is the
> + value of 'cvsexportcommit.cvsdir'.
>
> -v::
> Verbose.
>
> +CONFIGURATION
> +-------------
> +cvsexportcommit.cvsdir::
> + The default location of the CVS checkout to use for the export.
> +
> EXAMPLES
> --------
>
> diff --git a/git-cvsexportcommit.perl b/git-cvsexportcommit.perl
> index b6036bd..c93bd9c 100755
> --- a/git-cvsexportcommit.perl
> +++ b/git-cvsexportcommit.perl
> @@ -6,6 +6,7 @@ use File::Temp qw(tempdir);
> use Data::Dumper;
> use File::Basename qw(basename dirname);
> use File::Spec;
> +use Git;
>
> our ($opt_h, $opt_P, $opt_p, $opt_v, $opt_c, $opt_f, $opt_a, $opt_m, $opt_d, $opt_u, $opt_w);
>
> @@ -15,6 +16,10 @@ $opt_h && usage();
>
> die "Need at least one commit identifier!" unless @ARGV;
>
> +# Get git-config settings
> +my $repo = Git->repository();
> +$opt_w = $repo->config('cvsexportcommit.cvsdir') unless defined $opt_w;
> +
> if ($opt_w) {
> # Remember where GIT_DIR is before changing to CVS checkout
> unless ($ENV{GIT_DIR}) {
> --
> 1.5.4.1