Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jul 6, 2009
  1. Avoid generating a warning if $fullname{$file} is undefined

    Nick Woolley authored committed
    Signed-off-by: Nick Woolley <git.wu-lee@noodlefactory.co.uk>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Remove archaic use of regex capture \1 in favour of $1

    Nick Woolley authored committed
    Using it will generate a perl warning "\1 better written as $1".
    
    Signed-off-by: Nick Woolley <git.wu-lee@noodlefactory.co.uk>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 18, 2009
  1. Add -k option to cvsexportcommit to revert expanded CVS keywords in C…

    Alex Bennée authored committed
    …VS working tree before applying commit patch
    
    Depending on how your CVS->GIT conversion went you will have some
    unexpanded CVS keywords in your GIT repo. If any of your git commits
    touch these lines then the patch application will fail. This patch
    addresses that by adding an option that will revert and expanded CVS
    keywords to files in the working CVS directory that are affected by
    the commit being applied.
    
    Signed-off-by: Alex Bennée <alex@bennee.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 29, 2009
  1. git-cvsexportcommit can't commit files which have been removed from CVS

    Nick Woolley authored committed
    If a file X is removed from CVS, it goes into the Attic directory, and CVS
    reports it as 'no file X' but with status 'Up-to-date'.  cvsexportcommit
    misinterprets this as an existing file and tries to commit a file with the
    same name.  Correctly identify these files, so that new files with the
    same name can be committed.
    
    Add a test to t9200-git-cvsexportcommit.sh, which tests that we can
    re-commit a removed filename which remains in CVS's attic. This adds a
    file 'attic_gremlin' in CVS, then "removes" it, then tries to commit a
    file with the same name from git.
    
    Signed-off-by: Nick Woolley <git.wu-lee@noodlefactory.co.uk>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 13, 2008
  1. Stephan Beyer

    Make usage strings dash-less

    sbeyer authored committed
    When you misuse a git command, you are shown the usage string.
    But this is currently shown in the dashed form.  So if you just
    copy what you see, it will not work, when the dashed form
    is no longer supported.
    
    This patch makes git commands show the dash-less version.
    
    For shell scripts that do not specify OPTIONS_SPEC, git-sh-setup.sh
    generates a dash-less usage string now.
    
    Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 25, 2008
  1. Merge branch 'js/cvsexportcommit'

    authored
    * js/cvsexportcommit:
      cvsexportcommit: introduce -W for shared working trees (between Git and CVS)
      cvsexportcommit: chomp only removes trailing whitespace
    
    Conflicts:
    
    	git-cvsexportcommit.perl
Commits on May 21, 2008
  1. cvsexportcommit: Create config option for CVS dir

    Trent Piepho authored committed
    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>
    Acked-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 15, 2008
  1. dscho

    cvsexportcommit: introduce -W for shared working trees (between Git a…

    dscho authored committed
    …nd CVS)
    
    If you have a CVS checkout, it is easy to import the CVS history by
    calling "git cvsimport".  However, interacting with the CVS repository
    using "git cvsexportcommit" was cumbersome, since that script assumes
    separate working directories for Git and CVS.
    
    Now, you can call cvsexportcommit with the -W option.  This will
    automatically discover the GIT_DIR, and it will check out the parent
    commit before exporting the commit.
    
    The intended workflow is this:
    
    $ CVSROOT=$URL cvs co module
    $ cd module
    $ git cvsimport
    hack, hack, hack, making two commits, cleaning them up using rebase -i.
    $ git cvsexportcommit -W -c -p -u HEAD^
    $ git cvsexportcommit -W -c -p -u HEAD
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. dscho

    cvsexportcommit: chomp only removes trailing whitespace

    dscho authored committed
    In commit fef3a7c(cvsexportcommit: be graceful when "cvs status"
    reorders the arguments), caution was taken to get the status even
    for files with leading or trailing whitespace.
    
    However, the author of that commit missed that chomp() removes only
    trailing newlines.  With help of the mailing list, the author realized
    his mistake and provided this patch.
    
    The idea is that we do not want to rely on a certain layout of the
    output of "cvs status".  Therefore we only call it with files that are
    unambiguous after stripping leading and trailing whitespace.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Feb 21, 2008
  1. Merge branch 'js/maint-cvsexport'

    authored
    * js/maint-cvsexport:
      cvsexportcommit: be graceful when "cvs status" reorders the arguments
    
    Conflicts:
    
    	t/t9200-git-cvsexportcommit.sh
Commits on Feb 20, 2008
  1. dscho

    cvsexportcommit: be graceful when "cvs status" reorders the arguments

    dscho authored committed
    In my use cases, "cvs status" sometimes reordered the passed filenames,
    which often led to a misdetection of a dirty state (when it was in
    reality a clean state).
    
    I finally tracked it down to two filenames having the same basename.
    
    So no longer trust the order of the results blindly, but actually check
    the file name.
    
    Since "cvs status" only returns the basename (and the complete path on the
    server which is useless for our purposes), run "cvs status" several times
    with lists consisting of files with unique (chomped) basenames.
    
    Be a bit clever about new files: these are reported as "no file <blabla>",
    so in order to discern it from existing files, prepend "no file " to the
    basename.
    
    In other words, one call to "cvs status" will not ask for two files
    "blabla" (which does not yet exist) and "no file blabla" (which exists).
    
    This patch makes cvsexportcommit slightly slower, when the list of changed
    files has non-unique basenames, but at least it is accurate now.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Feb 13, 2008
  1. Johan Herland

    Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT…

    jherland authored committed
    …_DIR
    
    When using the '-w $cvsdir' option to cvsexportcommit, it will chdir into
    $cvsdir before executing several other git commands. If $GIT_DIR is set to
    a relative path (e.g. '.'), the git commands executed by cvsexportcommit
    will naturally fail.
    
    Therefore, ensure that $GIT_DIR is absolute before the chdir to $cvsdir.
    
    Signed-off-by: Johan Herland <johan@herland.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 14, 2007
  1. Jeff King

    cvsexportcommit: fix massive commits

    peff authored committed
    Because we feed the changed filenames to CVS on the command
    line, it was possible for massive commits to overflow the
    system exec limits. Instead, we now do an xargs-like split
    of the arguments.
    
    This means that we lose some of the atomicity of calling CVS
    in one shot. Since CVS commits are not atomic, but the CVS
    protocol is, the possible effects of this are not clear;
    however, since CVS doesn't provide a different interface,
    this is our only option for large commits (short of writing
    a CVS client library).
    
    The argument size limit is arbitrarily set to 64kB. This
    should be high enough to trigger only in rare cases where it
    is necessary, so normal-sized commits are not affected by
    the atomicity change.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 2, 2007
  1. Robin Roenberg

    cvsexportcommit: Add switch to specify CVS workdir

    robinrosenberg authored committed
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Nov 1, 2007
  1. Merge branch 'bk/maint-cvsexportcommit'

    authored
    * bk/maint-cvsexportcommit:
      cvsexportcommit: fix for commits that do not have parents
  2. Brad King

    cvsexportcommit: fix for commits that do not have parents

    bradking authored committed
    Previously commits without parents would fail to export with a
    message indicating that the commits had more than one parent.
    Instead we should use the --root option for git-diff-tree in
    place of a parent.
    
    Signed-off-by: Brad King <brad.king@kitware.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 19, 2007
  1. Shawn O. Pearce

    Merge branch 'maint'

    spearce authored
    * maint:
      Further 1.5.3.5 fixes described in release notes
      Avoid invoking diff drivers during git-stash
      attr: fix segfault in gitattributes parsing code
      Define NI_MAXSERV if not defined by operating system
      Ensure we add directories in the correct order
      Avoid scary errors about tagged trees/blobs during git-fetch
  2. Shawn O. Pearce

    Ensure we add directories in the correct order

    Alex Bennee authored spearce committed
    CVS gets understandably upset if you try and add a subdirectory
    before it's parent directory. This patch fixes that.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on Oct 17, 2007
  1. Shawn O. Pearce

    git-cvsexportcommit.perl: git-apply no longer needs --binary

    Michael Witten authored spearce committed
    Signed-off-by: Michael Witten <mfwitten@mit.edu>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on Oct 16, 2007
  1. dscho Shawn O. Pearce

    cvsexportcommit: get rid of temporary directory

    dscho authored spearce committed
    Since commit e86ad71 we do not use
    a temporary directory in cvsexportcommit.  So there is no need to set
    one up.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on Jul 25, 2007
  1. cvsexportcommit: avoid racy CVS problem.

    Robin Rosenberg authored committed
    If git cvsexportcommit is executed fast enough in sequence, the CVS
    timestamps could end up being the same. CVS tries to fix this
    by sleeping until the CPU clock changes seconds. Unfortunately,
    the CPU clock and the file system clock are not necessarily the same, so
    the timestamps could be the same anyway. When that happens CVS may not
    recognize changed files and cvs will forget to commit some files.
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 7, 2007
  1. War on whitespace

    authored
    This uses "git-apply --whitespace=strip" to fix whitespace errors that have
    crept in to our source files over time.  There are a few files that need
    to have trailing whitespaces (most notably, test vectors).  The results
    still passes the test, and build result in Documentation/ area is unchanged.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on May 25, 2007
  1. Robin Roenberg

    Add option to cvs update before export

    robinrosenberg authored Junio C Hamano committed
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on May 15, 2007
  1. sprohaska

    Optimized cvsexportcommit: calling 'cvs status' once instead of once …

    sprohaska authored Junio C Hamano committed
    …per touched file.
    
    Runtime is now independent of the number of modified files.
    
    The old implementation executed 'cvs status' for each file touched by the patch
    to be applied. The new code calls 'cvs status' only once with all touched files
    and parses cvs's output to collect all available status information.
    
    Signed-off-by: Steffen Prohaska <prohaska@zib.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Apr 10, 2007
  1. Tomash Brechko

    cvsexportcommit -p : fix the usage of git-apply -C.

    kroki authored Junio C Hamano committed
    Unlike 'patch --fuzz=NUM', which specifies the number of lines allowed
    to mismatch, 'git-apply -CNUM' requests the match of NUM lines of
    context.  Omitting -C requests full context match, and that's what
    should be used for cvsexportcommit -p.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Feb 28, 2007
  1. Merge branch 'maint'

    Junio C Hamano authored
    * maint:
      Start preparing Release Notes for 1.5.0.3
      Documentation: git-remote add [-t <branch>] [-m <branch>] [-f] name url
      Include config.mak in doc/Makefile
      git.el: Set the default commit coding system from the repository config.
      git-archimport: support empty summaries, put summary on a single line.
      http-push.c::lock_remote(): validate all remote refs.
      git-cvsexportcommit: don't cleanup .msg if not yet committed to cvs.
  2. git-cvsexportcommit: don't cleanup .msg if not yet committed to cvs.

    Gerrit Pape authored Junio C Hamano committed
    Unless the -c option is given, and the commit to cvs was successful,
    .msg shouldn't be deleted to be able to run the command suggested by
    git-cvsexportcommit.
    
    See http://bugs.debian.org/412732
    
    Signed-off-by: Gerrit Pape <pape@smarden.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Feb 21, 2007
  1. corecode

    Allow passing of an alternative CVSROOT via -d.

    corecode authored Junio C Hamano committed
    This is necessary if using CVS in an asymmetric fashion, i.e. when the
    CVSROOT you are checking out from differs from the CVSROOT you have to
    commit to.
    
    Signed-off-by: Simon 'corecode' Schubert <corecode@fs.ei.tum.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Feb 5, 2007
  1. corecode

    Allow forcing of a parent commit, even if the parent is not a direct …

    corecode authored Junio C Hamano committed
    …one.
    
    This can be used to compress multiple changesets into one, for example
    like
    
    	git cvsexportcommit -P cvshead mybranch
    
    without having to do so in git first.
    
    Signed-off-by: Simon 'corecode' Schubert <corecode@fs.ei.tum.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 11, 2006
  1. Robin Roenberg

    Make cvsexportcommit work with filenames with spaces and non-ascii ch…

    robinrosenberg authored Junio C Hamano committed
    …aracters.
    
    This patch uses git-apply to do the patching which simplifies the code a lot
    and also uses one pass to git-diff. git-apply gives information on added,
    removed files as well as which files are binary.
    
    Removed the test for checking for matching binary files when deleting them
    since git-apply happily deletes the file. This is matter of taste since we
    allow some fuzz for text patches also.
    
    Error handling was cleaned up, but not much tested.
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Dec 4, 2006
  1. meyering

    Set permissions of each new file before "cvs add"ing it.

    meyering authored Junio C Hamano committed
    Otherwise, an executable script in git would end up being
    checked into the CVS repository without the execute bit.
    
    [jc: with an additional test script from Robin Rosenberg.]
    
    Signed-off-by: Jim Meyering <jim@meyering.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Nov 13, 2006
  1. Robin Roenberg

    Rework cvsexportcommit to handle binary files for all cases.

    robinrosenberg authored Junio C Hamano committed
    Also adds test cases for adding removing and deleting
    binary and text files plus two tests for the checks on
    binary files.
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Sep 29, 2006
  1. Robin Roenberg

    Make cvsexportcommit remove files.

    robinrosenberg authored Junio C Hamano committed
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Jul 24, 2006
  1. cvsexportcommit - add -a (add author line) flag, cleanup warnings

    Martin Langhoff authored Junio C Hamano committed
    This patch adds support for -a which will add an "Author: " line, and possibly
    a "Committer: " line to the bottom of the commit message for CVS.
    
    The commit message parser is now a little bit better, and some warnings
    have been cleaned up.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Jul 10, 2006
  1. Pavel Roskin

    Fix more typos, primarily in the code

    proski authored Junio C Hamano committed
    The only visible change is that git-blame doesn't understand
    "--compability" anymore, but it does accept "--compatibility" instead,
    which is already documented.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Something went wrong with that request. Please try again.