Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.067.618 Times

git-svn-helpers 0.4

Company: Tom Lazar
Date Added: October 02, 2013  |  Visits: 383

git-svn-helpers

Report Broken Link
Printer Friendly Version


Product Homepage
Download (33 downloads)



git-svn-helpers is a collection of command line tools that greatly simplifies using git for svn repositories.<br /><br />git-svn-helpers's main goal is to make setting up a local git repository following an existing svn checkout a 'no-brainer'.<br /><br />It also addresses using a single git-svn repository for working on multiple checkouts of (usually) different branches and switching between them.<br /><br />Basic usage (Example)<br /><br />Executive summary:<br /><br />> cd path/to/svn/repo<br />> gitify<br /><br />Here's a sample session:<br /><br />> cd /tmp<br />> svn co https://svn.plone.org/svn/plone/plone.app.form/branches/1.1 plone.app.form<br />A 1.1/setup.py<br />...<br />Checked out revision 27228.<br />> cd plone.app.form<br />> gitify<br />No git repository found in /Users/tomster/.gitcache/.<br />Initiating cloning into cache.<br />Analyzing svn log...<br />Cloning https://svn.plone.org/svn/plone/plone.app.form/ from r10593:27155 into /Users/tomster/.gitcache/<br />Initialized empty Git repository in /Users/tomster/.gitcache/plone.app.form/.git/<br />...<br />Git branch 'local/1.1' is now following svn branch '1.1':<br /># On branch local/1.1<br />nothing to commit (working directory clean)<br />> git branch<br />* local/1.1<br /> master<br /><br />Points to note:<br /><br /> * gitify limited the cloning to the revisions found in the svn log of the package root (here https://svn.plone.org/svn/plone/plone.app.form/). A big time saver, especially on large repositories (such as plone.collective)<br /> * gitify created the git repository at ~/.gitcache not in place<br /> * gitify created a local branch local/1.1 that follows the (remote) svn branch 1.1 and switched to it<br /><br />Multiple check-outs<br /><br />In practice you will often work with different local copies of a given repository, i.e. on trunk and on a feature branch. That's when the .gitcache directory created above comes in handy. Let's move our previous checkout out of the way and create a maintenance checkout that follows trunk:<br /><br />> cd ..<br />> mkdir feature-branch<br />> mv plone.app.form feature-branch/<br />> mkdir maintenance<br />> cd maintenance/<br />> svn co https://svn.plone.org/svn/plone/plone.app.form/trunk plone.app.form<br />A plone.app.form/setup.py<br />...<br /> U plone.app.form<br />Checked out revision 27228.<br /><br />What happens if we run gitify here?:<br /><br />> cd plone.app.form/<br />> gitify<br />Git branch 'local/trunk' is now following svn branch 'trunk':<br /># On branch local/trunk<br />nothing to commit (working directory clean)<br /><br />Notice, that this operation went much faster, as we now have used the existing git repository in the cache directory. This can be further evidenced by looking at the available local branches now:<br /><br />> git branch<br /> local/1.1<br />* local/trunk<br /> master<br /><br />Caveats<br /><br />'Recycling' .git in this manner works (perhaps surprisingly) well in practice, but you need to keep the following in mind:<br /><br />All checkouts share the same index!<br /><br />Let's take a look at what this means by switching back to our feature branch:<br /><br />> cd ../../feature-branch/plone.app.form/<br />> git status<br /># On branch local/trunk<br /># Changed but not updated:<br /># (use "git add/rm ..." to update what will be committed)<br /># (use "git checkout -- ..." to discard changes in working directory)<br />#<br /># modified: docs/HISTORY.txt<br />...<br /># deleted: plone/app/form/kss/tests/test_kss.py<br />...<br />#<br /># Untracked files:<br /># (use "git add ..." to include in what will be committed)<br />#<br /># plone/app/form/tests/test_kss.py<br /><br />Wohah! What happened is that .git now points to trunk and thus the status command shows the difference between that and our branch as local modifications, since that is what the filesystem represents. We can verify this by using subversions status command:<br /><br />> svn st<br />< BLANKLINE ><br /><br />Phew! All in order! But what to do with git? We've finished working on trunk and want to get back to our feature branch, but the git index is all wrong?! Simple: just re-run gitify:<br /><br />> gitify<br />Git branch 'local/1.1' is now following svn branch '1.1':<br /># On branch local/1.1<br />nothing to commit (working directory clean)<br /><br />Basically, that's all you need to remember when working with multiple check-outs of the same package: Always run gitify when switching between check-outs!<br /><br />md5=c05e864bb2ab6b7f3e63cccc9254787a

Requirements: No special requirements
Platforms: *nix, Linux
Keyword: Branch Checkout Checkouts Commit Created Directory Feature Git Svn Helpers 0 4 Gitify Local Quotgit Repository Status Switching Trunk Working
Users rating: 0/10

License: Freeware Size: 51.2 KB
USER REVIEWS
More Reviews or Write Review


GIT-SVN-HELPERS RELATED
Utilities  -  Print Directory Feature 1.0
The Print Directory Feature adds or removes the Print Directory feature for folders in Windows XP and in Windows Vista based on Microsoft's article number 321379.
204 KB  
Programming  -  gitctl 2.0.a7
A particular Git workflow implementation with a development/staging/production code-flow model and support for multiple repositories as part of a larger project gitctl's purpose is to implement a particular workflow for using Git to...
20.48 KB  
Libraries  -  SVN::Log::Index 0.51
SVN::Log::Index is a Perl module that can index and search over Subversion commit logs. SYNOPSIS my $index = SVN::Log::Index->new({ index_path => /path/to/index }); if($creating) { # Create from scratch if necessary $index->create({...
13.31 KB  
Utilities  -  AIR iPad 0.01
The AIR iPad is a desktop application created with Adobe AIR and Adobe Flex 4, it simulates the UI of the iPad. This is a very early version not much works in the app.
1.26 MB  
Libraries  -  Template::Plugin::Java::Utils 0.4
Template::Plugin::Java::Utils is a Perl module with utility functions for Template::Plugin::Java. SYNOPSIS use Template::Plugin::Java::Utils qw/list of subroutines to import/; SUBROUTINES createTemplate Creates a new Template with...
18.43 KB  
Development Tools  -  bblocked 5.6
bblocked is a state of the art proxy script created in PHP (compatible with both PHP4 >= 4.3.0 and PHP5) in order to free people from the unfair restraints of various filtering and to ensure that in the open internet, user’s privacy is never...
 
Modules  -  Git Browser 7.x-1.0-alpha1
This module provides view cvs style integration to allow a user to view a git repository. This module has been split into 2 parts so that the git browser can be embedded within another module to allow access to any git repository.Included is a...
102.4 KB  
Libraries  -  ClearCase::Wrapper::DSB 1.12
ClearCase::Wrapper::DSB Perl module contains David Boyces contributed cleartool wrapper functions. SYNOPSIS This is an overlay module for ClearCase::Wrapper containing David Boyces non-standard extensions. See perldoc ClearCase::Wrapper for...
18.43 KB  
Modules  -  Ubercart Webform Checkout Panes 7.x-3.6
This module allows you to define Webform nodes as checkout/order panes in Ubercart.This is useful if you want to collect additional information during the checkout process. For example, you may want a quick survey or require additional fields that...
10 KB  
Programming  -  rosinstall 0.5.30
Getting rosinstall Because it's used to install ROS software, rosinstall is a standalone program that you need to download. Get the latest version like so: wget --no-check-certificate http://ros.org/rosinstall -O...
20.48 KB  
NEW DOWNLOADS IN LINUX SOFTWARE, PROGRAMMING
Linux Software  -  EasyEDA PCB Designer for Linux 2.0.0
EasyEDA, a great web based EDA(Electronics Design Automation) tool, online PCB tool, online PCB software for electronics engineers, educators, students, makers and enthusiasts. Theres no need to install any software. Just open EasyEDA in any...
34.4 MB  
Linux Software  -  wpCache® WordPress HTTP Cache 1.9
wpCache® is a high-performance, distributed object, caching system application, generic in nature, but intended for use in speeding up dynamic web applications, by decreasing database load time. wpCache® decreases dramatically the page...
3.51 MB  
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Linux Software  -  Skeith mod_log_sql Analyzer 2.10beta2
Skeith is a php based front end for analyzing logs for Apache using mod_log_sql.
47.5 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB