descriptionYet Another (Git) Porcelein
last changeTue, 15 Sep 2009 17:03:34 +0000 (15 13:03 -0400)
content tags
Yet Another (Git) Porcelain
This project is three things, in increasing order of relevance:

    1) A git porcelain implemented in python
    2) A git porcelain with a friendlier, more orthogonal interface
    3) A extensible git porcelain

The third point is most interesting, because as far as the author is
aware, it is the first such project to attempt to achieve this.
Included in this distribution are plugins to create backups during
revert, make "temporary" commits, and ease interoperability with
subversion repositories.

Using git to operate on subversion-hosted repositories is a frequent use
case, and will continue to be until the world embraces git as the
awesome tool it is (keep in mind that even CVS is still in common
usage).  The git-svn tool distributed with git greatly facilitates this.
However, using git-svn requires markedly different workflows, commands,
and mental processes than does working with git-native repositories.

By leveraging the extensible nature of yap, its svn mode strives to make
a remote svn repository act and feel as much like a git repository as
possible to lessen the impedance mismatch to the user.

Yap is still very much a work-in-progress.  Patches are welcome.
Suggestions are welcome.  Bug reports are expected.  Hopefully this
yap can fill a gap in your git toolbox.

    * Most commands are easily and clearly reversible (commit/uncommit).  Those
      that are not are clearly marked as such.
    * Commands that have potentially unintended side-effects warn about such.
      For example, "point" will warn if moving the branch would make some
      commits reachable only through the commit log
    * SVN interoperation
        * Cloning an SVN repository is no different than cloning a git
          repository (only slower)
        * Same command to push to an SVN repo as a git repo
        * Standard workflow (yap update) is appropriate for svn-based and
          git-native setups
        * Working with "cache repositories" is supported directly.  When
          cloning a repository generated by "yap clone <svn url>", the new
          repositories is automatically configured to push back to the
          subversion repository.
2009-09-15 Steven WalterRevert "cmd_unstage: work correctly from a subdirectory"masterv0.4
2009-08-14 Steven Waltersvn: fix tags
2009-08-14 Steven Walterworkdirs: ensure the .yap directory exists in the...
2009-04-06 Steven Waltercmd_log: use local time
2009-04-06 Steven Waltercmd_init: create the .git/yap directory
2009-04-06 Steven Waltersvn: be more tolerant of other git-svn repos
2009-03-11 Steven Walterworkdir: cleanup after ourselves if branch -d fails
2009-02-20 Steven Walterworkdir: override cmd_branch
2009-02-05 Steven Walterworkdir: fix lockingv0.3
2009-01-14 Steven Walterworkdir: the yap dir must be shared between workdirs
2009-01-14 Steven WalterMerge branch 'pu'
2008-12-03 Steven Waltersvn: only allow one process to fetch at a time
2008-12-03 Steven Walterworkdir: cleanup the created tmp file
2008-12-03 Steven Walterworkdir: create tmpfiles in the correct directory
2008-12-03 Steven Walterworkdir: create the lock dir if needed on unlock
2008-12-03 swalterworkdir: add usage and a completion message
6 years ago v0.4
6 years ago v0.3
7 years ago v0.2
7 years ago v0.1
6 years ago master
7 years ago mob