[Sugar-devel] git problems (reprise)

Art Hunkins abhunkin at uncg.edu
Tue Dec 28 15:47:27 EST 2010


James,

Thanks for your wonderful, clear and understandable instructions. They work 
wonderfully and all my problems are gone.

BTW, your procedure is *much* more user-friendly (and simpler) than any of 
the git material on the wiki. It would really be helpful to have your easy 
step-by-step available online: perhaps one procedure for initial commit, and 
one for followups (like for my case). Of all the challenges I've faced with 
Linux/Sugar, perhaps gitorious has been the greatest and most frustrating.

Please advise me on one point: once the local repo is established 
(filemix.git), what's the simplest way to copy all my (revised) activity 
files (including subdirectory) to filemix.git? When preparing a new push, 
I've often forgotten just which files I've modified, and don't wish to omit 
any (and so would use git add . for the following step). Let's say that the 
source files were in FileMix.activity and that both FileMix.activity and 
filemix.git were in the Activities folder.

Once again, many thanks.

Art Hunkins

----- Original Message ----- 
From: "James Cameron" <quozl at laptop.org>
To: "Art Hunkins" <abhunkin at uncg.edu>
Cc: <Sugar-devel at lists.sugarlabs.org>
Sent: Monday, December 27, 2010 11:09 PM
Subject: Re: [Sugar-devel] git problems (reprise)


> On Mon, Dec 27, 2010 at 10:27:26PM -0500, Art Hunkins wrote:
>> then:
>> git init
>
> This is where you went wrong.  You've created an entirely new repository
> instead of cloning the existing one.
>
>> git add <the three changed files - as listed below>
>> git status
>> <everything looks good>
>>
>> the console output then picks up and tells the rest of the story:
>>
>> [liveuser at localhost FileMix.activity]$ git commit -a -m"Version 4
>> changes: ObjectChooser and Sugar-version ID reworked"
>> [master (root-commit) 3b7e345] Version 4 changes: ObjectChooser and
>> Sugar-version ID reworked
>> 3 files changed, 494 insertions(+), 0 deletions(-)
>> create mode 100755 FileMixReadMe.txt
>> create mode 100755 activity/activity.info
>> create mode 100755 filemix.py
>> [liveuser at localhost FileMix.activity]$ git push
>> gitorious at git.sugarlabs.org:filemix/mainline.git
>> To gitorious at git.sugarlabs.org:filemix/mainline.git
>> ! [rejected]        master -> master (non-fast-forward)
>> error: failed to push some refs to
>> 'gitorious at git.sugarlabs.org:filemix/mainline.git'
>> To prevent you from losing history, non-fast-forward updates were 
>> rejected
>> Merge the remote changes before pushing again.  See the 
>> 'non-fast-forward'
>> section of 'git push --help' for details.
>
> As you guess, the push is where the problem happened.  The cause
> of this error is that you are trying to push from a repository that
> doesn't have the same history of change.  This is because your new local
> repository is totally unrelated to the remote repository.  It is
> unrelated because it was created with "git init" instead of "git clone".
>
> You might do one of these things:
>
> 1.  clone into a new directory, copy those changed files into it,
> commit, and push again,
>
> 2.  understand the difference between the history of your local
> repository and the remote repository, and adjust it somehow, such as
> with a merge before a push.
>
> I recommend (1) above.  I don't recommend (2), although it is possible,
> it is not necessary.
>
> I'm happy to try to help you through this, and I've cloned the
> repository git://git.sugarlabs.org/filemix/mainline.git so that I can be
> prepared to answer questions.
>
> Expanding on (1) above:
>
> git clone gitorious at git.sugarlabs.org:filemix/mainline.git filemix.git
> cd filemix.git
> cp ${THOSE_FILES} .
> git add FileMixReadMe.txt activity/activity.info filemix.py
> git commit -m 'Version 4 changes: ObjectChooser and Sugar-version ID 
> reworked'
> git push
>
> -- 
> James Cameron
> http://quozl.linux.org.au/ 



More information about the Sugar-devel mailing list