[git-users] Incremental Git Push

2013-06-19 Thread jhops
Hello all - 
I am new to Git and have only used it for a handful of files on a small 
personal project.  I'd like to explore using it further at my company.  We 
currently use Synergy, which everyone loves to hate, and which I personally 
am fed up from having to constantly babysit.  However, one unique feature 
of Synergy in its handling of distributed repositories is that it does 
incremental pushes that can be created as a file set between 
two repositories that are on totally separate networks.  This has been 
useful to us to sync hypothetical repository Main to hypothetical 
repository Spoke by literally burning change sets to a DVD nearly 
everyday. The nice thing about Synergy is that Main remembers the last 
time it created a change set for Spoke, and subsequently only sends 
deltas since the last changeset.

It seems that we could have a similar workflow using Git or other DVCS by 
simply burning the entire Master repository to DVD everyday and 
subsequently pushing to Spoke, however the people that actually do the 
DVD burning would get angry at us quickly.  Any ideas if it would be 
possible for Git to create a delta changeset that we could burn to DVD? 
 Seems like if I could setup a Staging Spoke on the same network as 
Main, and somehow record the push operations that happen from Main to 
Staging Spoke that might do the trick, but I have no idea if something 
like that is possible.

Thanks!

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




[git-users] Re: Git Puzzle: Managing multiple websites based on the same code

2013-06-19 Thread childno͡ . de
Dear Dyske,

first of all: *That's not a git problem ;)*
branches are the same (but a little bit better) than in SVN.
Forks are repo copies.

handling forks might be in some cases more tricky than a classic branch 
if you want to backport bugs / features to existing clones.

*I think you should start using git with a single private repo using 
branches as like before!*
If you are familiar with git in some future, you might find a way to 
replicate and manage forks for your business needs but there are no tools 
that will help you here. Just have a look at the *git flow* paradigm and 
toolset.

Another suggestion, which is obvious but would not work, is to create a 
 branch for each website. This wouldn't work because the concept of branch 
 in Git is almost completely different from SVN.


that's wrong. the concept is likely the same. But yes, it's different how 
worse SVN allows bad users working with the SCM. git is much more cleaner 
and yes, in a single repository (clone) you just have a single checkout 
at a time. The really difference is for you how to manage them.
If you need different websites aside: just create a copy of your 
repository! You then have to update different repos if there are changes on 
the remote site.

so far, so good. But ... (if you intend not soly change your SCM but also 
your way how to work *using forks*)

I don't understand your gitHub problem while it is just a virtual problem:

   1. yes, gitHub (don't know since when) denies to fork on the same user 
   account via web-interface.
   2. you still might fork a repo manually but you'll loose the github 
   meta information that this is a fork. IE: you are not able to add push 
   requests to / between these repositories
  1. just clone your basesite
  2. create new repo called forkedsite via web but don't let gitHub 
  add files
  3. rename the remote origin (for basesite) to something like 
  parent and add the forksite remote as a new origin
  4. push your master to the new origin which now has the same tree-ish 
  as the parent
  5. (re)set uptracking branch if needed
  6. on updates on you parent repo: fetch --all  merge --no-ff 
  parent/bugfixBranch
   

Perhaps you might have a look at 
http://*bitbucket*.comhttp://bitbucket.comwhere

   - private repos are free unlimited up to 5 users
   - forking a repos of your own account is possible via web


As a git starter I don't know if *submodules *are very helpful yet for your 
purpose.
Please regard: That you need a real basic framework or components that 
you might update independently.

As a webDeveloper you should have a look at composerhttp://getcomposer.org
 or http://bower.io (http://yeoman.io/ will help too that bundles bower).
So your dependency management might be more code-based instead of strict 
versioned submodules with all it's gaps and traps.

With kind regards,
~Marcel

Am Dienstag, 18. Juni 2013 23:42:06 UTC+2 schrieb Dyske Suematsu:

 Hi All,

 I spent a whole week researching this and found no answer. So, I'm hoping 
 that someone here could help me. Here's my situation which I don't think is 
 so unique or strange.

 I have a generic website that I always use as my starting point to build 
 websites for all of my clients. Since each client's needs are different, I 
 end up editing different parts of the original code. (In other words, I 
 cannot separate and isolate files that all sites share in common.) As you 
 could imagine, without some sort of version control, it would be very 
 difficult to manage all the websites. The same fix/change would have to be 
 applied to all the sites individually.

 Currently I manage them with SVN. The original, generic site is in the 
 trunk and for each new client, I create a branch. If I make a change to 
 the trunk that needs to be propagated to all the branches/sites, I just run 
 svn merge to merge trunk into branches. I've been doing this for some years 
 and it's been working fine.

 Now, I would like to switch to Git because it's more powerful overall, but 
 I cannot figure out how I can manage these sites with Git. I searched this 
 Google Group and found someone who asked a similar question. I also asked 
 some of my programmer friends who have been using Git for a long time. They 
 all suggested to create a fork for each website. I thought it would work, 
 so I started implementing this but hit a wall. The issue is that on Github, 
 each fork requires a unique user. Say, I create the Official repo under 
 my Organization account. The URL would be:

 https://github.com/mycompany/basesite

 I then create a fork of this, and I would end up with:

 https://github.com/username/basesite

 Now, if I want to create another site, I would have to create a new user 
 because each fork is differentiated only by the user name. If I have to 
 create a new user for each website, eventually, I'll end up with a whole 
 bunch of user accounts to manage. And, since this must be a 

Re: [git-users] Incremental Git Push

2013-06-19 Thread Konstantin Khomoutov
On Wed, 19 Jun 2013 00:21:51 -0700 (PDT)
jhops jesse.h...@gmail.com wrote:

 Any ideas if it would be possible for Git to create a delta changeset
 that we could burn to DVD?

Yes, this feature set is provided by the `git bundle` command [1].

1. https://www.kernel.org/pub/software/scm/git/docs/git-bundle.html

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




[git-users] Re: Incremental Git Push

2013-06-19 Thread Philip Oakley

On Wednesday, 19 June 2013 08:21:51 UTC+1, jhops wrote: 

 Hello all -  
 I am new to Git and have only used it for a handful of files on a small 
 personal project.  I'd like to explore using it further at my company.  We 
 currently use Synergy, which everyone loves to hate, and which I personally 
 am fed up from having to constantly babysit.  However, one unique feature 
 of Synergy in its handling of distributed repositories is that it does 
 incremental pushes that can be created as a file set between 
 two repositories that are on totally separate networks.  This has been 
 useful to us to sync hypothetical repository Main to hypothetical 
 repository Spoke by literally burning change sets to a DVD nearly 
 everyday. The nice thing about Synergy is that Main remembers the last 
 time it created a change set for Spoke, and subsequently only sends 
 deltas since the last changeset.

 It seems that we could have a similar workflow using Git or other DVCS by 
 simply burning the entire Master repository to DVD everyday and 
 subsequently pushing to Spoke, however the people that actually do the 
 DVD burning would get angry at us quickly.  Any ideas if it would be 
 possible for Git to create a delta changeset that we could burn to DVD? 
  Seems like if I could setup a Staging Spoke on the same network as 
 Main, and somehow record the push operations that happen from Main to 
 Staging Spoke that might do the trick, but I have no idea if something 
 like that is possible.

 Thanks!

 
Try looking at `git bundle`. It is designed as sneakernet transport, so it 
can determine which commits are missing based on some starting point refs. 
 
It can even do the equivalent of a clone with '--all' (that is the bundle 
file will have all the repo in it and and the file can be used as a clone 
source just as if it were a URL) [I think you need HEAD as well in the ref 
list if you want it to be non bare]
 
Philip

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




[git-users] Re: Submodule tracking remote master shows modified on super project git status after submodule update --remote

2013-06-19 Thread Sujitra Misin


On Thursday, June 13, 2013 11:41:52 PM UTC+2, Adam Strzelecki wrote:

 In my superproject I have two submodules and I want them to track always 
 master master. Using Git 1.8.2.

 So I've added branch = master to .gitmodules and using git submodule 
 update --remote to pull always recent master.

 However everytime submodule master is updated, running superproject git 
 status or diff shows its recorded sha1 has changed.

 This doesn't make sense since I am tracking master? Shouldn't it show it 
 has changed only when submodule HEAD is not the branch recorded in my 
 superproject's .gitmodules ??

 Regards,
 Adam


-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




[git-users] Re: Incremental Git Push

2013-06-19 Thread jhops


 Great thanks for the replies Konstantin and Philip.  That was easy!


-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [git-users] Incremental Git Push

2013-06-19 Thread Magnus Therning
On Wed, Jun 19, 2013 at 01:40:42PM +0400, Konstantin Khomoutov wrote:
 On Wed, 19 Jun 2013 00:21:51 -0700 (PDT)
 jhops jesse.h...@gmail.com wrote:
 
  Any ideas if it would be possible for Git to create a delta changeset
  that we could burn to DVD?
 
 Yes, this feature set is provided by the `git bundle` command [1].
 
 1. https://www.kernel.org/pub/software/scm/git/docs/git-bundle.html

AFAICS from reading the man page there is no automatic recording of
what has been bundled up in the past.  That would mean that Jesse's
workflow in Synergy couldn't be replicated in Git without a bit of
manual record keeping, right?

/M

-- 
Magnus Therning  OpenPGP: 0xAB4DFBA4 
email: mag...@therning.org   jabber: mag...@therning.org
twitter: magthe   http://therning.org/magnus

Most software today is very much like an Egyptian pyramid with
millions of bricks piled on top of each other, with no structural
integrity, but just done by brute force and thousands of slaves.
 -- Alan Kay


pgpR2U5aUBLOz.pgp
Description: PGP signature


[git-users] Merging hotfix without merging all files.

2013-06-19 Thread Saurav
Hi

I have a question about GIT.

Suppose I have a project on MASTER branch with 100s of php files. To do a 
bug fixing in the project, i create a separate branch


*git checkout -b bugfix*



Then after fixing the bug in 3 files (for eg index.php, register.php and 
login.php), i merge it in the master branch


*git checkout master
 **git merge bugfix*



The above code will merge all the 3 files i made changes, but is there 
anyway that i can force GIT to merge only 2 files, say login.php and 
register.php only?

Thanks

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.