[Sugar-devel] git problems (reprise)

Art Hunkins abhunkin at uncg.edu
Tue Dec 28 22:16:55 EST 2010


My sources of gitorious info were: the Activity Team/Git FAQ, the Activity Team/Git Tutorial, and Importing your project from OLPC.

I found the material disorganized, unnecessarily abstruse and technical, and not at all user-friendly (at least for the beginner).

For the newbee, only the essentials are needed, and clarity of expression and direction are crucial. This, particularly. for those of us whose knowledge of Linux and Sugar is elementary.

Take, for example, the Git Tutorial - which I expected to be the most helpful of the above: three-quarters of the material is nonessential, and the info on creating an account and SSH key are grossly inadequate. Furthermore, there is no treatment of anything but the git *init* procedure - nothing about creating a local depository through pulling from gitorious (my particular issue).

Specifically, the nuts and bolts of a practical, understandable series of steps to accomplish simple objectives are lacking.

Solving these problems by furnishing down-to-earth practical instructions would be of great help. (I also know that this is somewhat of a challenge in an open-source environment, so I don't expect miracles. Often, as in my case, listservs such as this one - and generous souls such as you - are the principal resource for newbees. And thank goodness for yawl (I'm from North Carolina - aka the South).

Art Hunkins

  ----- Original Message ----- 
  From: Walter Bender 
  To: Art Hunkins 
  Cc: James Cameron ; Sugar-devel at lists.sugarlabs.org 
  Sent: Tuesday, December 28, 2010 4:49 PM
  Subject: Re: [Sugar-devel] git problems (reprise)

  On Tue, Dec 28, 2010 at 3:47 PM, Art Hunkins <abhunkin at uncg.edu> wrote:


    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.

  Can you tell me where in the wiki you were finding confusing instructions so we can update them?


    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:

        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

    Sugar-devel mailing list
    Sugar-devel at lists.sugarlabs.org

  Walter Bender
  Sugar Labs

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20101228/f5c857a7/attachment.html>

More information about the Sugar-devel mailing list