instructions to update my local copy of trunk

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

instructions to update my local copy of trunk

Veronica Andreo
Hi devs


[veroandreo@localhost grass7_trunk]$ git remote -v
origin [hidden email]:veroandreo/grass.git (fetch)
origin [hidden email]:veroandreo/grass.git (push)
upstream [hidden email]:OSGeo/grass.git (fetch)
upstream [hidden email]:OSGeo/grass.git (push)

[veroandreo@localhost grass7_trunk]$ git fetch upstream
remote: Enumerating objects: 242, done.
remote: Counting objects: 100% (242/242), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 296 (delta 223), reused 233 (delta 217), pack-reused 54
Receiving objects: 100% (296/296), 56.83 KiB | 1.18 MiB/s, done.
Resolving deltas: 100% (226/226), completed with 105 local objects.
From github.com:OSGeo/grass
 * [new branch]          changelog_fix_msg -> upstream/changelog_fix_msg
   3797ccaaf..b300e66fc  master            -> upstream/master
   1ca5e4e34..e1e13d782  releasebranch_7_4 -> upstream/releasebranch_7_4
   15f53e803..dcfce280b  releasebranch_7_6 -> upstream/releasebranch_7_6

[veroandreo@localhost grass7_trunk]$ git branch -a
* master
  remotes/origin/master
  remotes/origin/releasebranch_7_0
  remotes/origin/releasebranch_7_2
  remotes/origin/releasebranch_7_4
  remotes/origin/releasebranch_7_6
  remotes/upstream/changelog_fix_msg
  remotes/upstream/master
  remotes/upstream/releasebranch_7_0
  remotes/upstream/releasebranch_7_2
  remotes/upstream/releasebranch_7_4
  remotes/upstream/releasebranch_7_6

[veroandreo@localhost grass7_trunk]$ git rebase upstream/master
First, rewinding head to replay your work on top of it...
Fast-forwarded master to upstream/master.

[veroandreo@localhost grass7_trunk]$ git status
On branch master
Your branch is ahead of 'origin/master' by 51 commits.
  (use "git push" to publish your local commits)

Why does my origin/master is now ahead by 51 commits, if I have not a single local change? I just want to get the new stuff from upstream and update my fork and local copy of the source code (what I used to do with `svn update`).

Can someone please provide full instructions [ideally in https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate]?

Thanks much in advance
Vero





_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

Markus Neteler
Hi,

On Sun, Jun 2, 2019 at 8:59 PM Veronica Andreo <[hidden email]> wrote:
>
> Hi devs
>
> Following instructions here: https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate, I get:
[...]
> [veroandreo@localhost grass7_trunk]$ git status
> On branch master
> Your branch is ahead of 'origin/master' by 51 commits.
>   (use "git push" to publish your local commits)
>
> Why does my origin/master is now ahead by 51 commits, if I have not a single local change? I just want to get the new stuff from upstream and update my fork and local copy of the source code (what I used to do with `svn update`).
>
> Can someone please provide full instructions [ideally in https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate]?

I have pretty much the same issue on the GRASS Server, trying to
update the cronjobs:

# here on relbranch76:

neteler@osgeo6:~/cronjobs$ sh cron_grass76_src_relbr76_snapshot.sh
Sun Jun  2 12:33:42 PDT 2019
Already on 'releasebranch_7_6'
Your branch is up-to-date with 'origin/releasebranch_7_6'.
git update...
From https://github.com/OSGeo/grass
 * branch            releasebranch_7_6 -> FETCH_HEAD
Updating 2340b9d..dcfce28
Fast-forward
 README => README.md                     |  78
+++++++++++++++++++++++++++++++++++++++++++++++------------------------------
 doc/howto_release.txt                   |   3 +--
 include/Make/Docs.make                  |  10 +++-------
 lib/python/pygrass/modules/grid/grid.py |   7 +++++++
 raster/r.stream.extract/main.c          |   6 +++---
 tools/gitlog2changelog.py               | 133
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 vector/v.db.connect/main.c              |  24 +++++++++++++-----------
 7 files changed, 208 insertions(+), 53 deletions(-)
 rename README => README.md (51%)
 create mode 100755 tools/gitlog2changelog.py
On branch releasebranch_7_6
Your branch is ahead of 'origin/releasebranch_7_6' by 6 commits.
  (use "git push" to publish your local commits)
nothing to commit, working directory clean

Something is clearly missing in the "HowToGit"...
Help welcome.

thanks
Markus
_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

wenzeslaus
In reply to this post by Veronica Andreo


On Sun, Jun 2, 2019 at 3:00 PM Veronica Andreo <[hidden email]> wrote:
Hi devs


[veroandreo@localhost grass7_trunk]$ git remote -v
origin [hidden email]:veroandreo/grass.git (fetch)
origin [hidden email]:veroandreo/grass.git (push)
upstream [hidden email]:OSGeo/grass.git (fetch)
upstream [hidden email]:OSGeo/grass.git (push)

[veroandreo@localhost grass7_trunk]$ git fetch upstream
remote: Enumerating objects: 242, done.
remote: Counting objects: 100% (242/242), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 296 (delta 223), reused 233 (delta 217), pack-reused 54
Receiving objects: 100% (296/296), 56.83 KiB | 1.18 MiB/s, done.
Resolving deltas: 100% (226/226), completed with 105 local objects.
From github.com:OSGeo/grass
 * [new branch]          changelog_fix_msg -> upstream/changelog_fix_msg
   3797ccaaf..b300e66fc  master            -> upstream/master
   1ca5e4e34..e1e13d782  releasebranch_7_4 -> upstream/releasebranch_7_4
   15f53e803..dcfce280b  releasebranch_7_6 -> upstream/releasebranch_7_6

[veroandreo@localhost grass7_trunk]$ git branch -a
* master
  remotes/origin/master
  remotes/origin/releasebranch_7_0
  remotes/origin/releasebranch_7_2
  remotes/origin/releasebranch_7_4
  remotes/origin/releasebranch_7_6
  remotes/upstream/changelog_fix_msg
  remotes/upstream/master
  remotes/upstream/releasebranch_7_0
  remotes/upstream/releasebranch_7_2
  remotes/upstream/releasebranch_7_4
  remotes/upstream/releasebranch_7_6

[veroandreo@localhost grass7_trunk]$ git rebase upstream/master
First, rewinding head to replay your work on top of it...
Fast-forwarded master to upstream/master.

[veroandreo@localhost grass7_trunk]$ git status
On branch master
Your branch is ahead of 'origin/master' by 51 commits.
  (use "git push" to publish your local commits)

Why does my origin/master is now ahead by 51 commits, if I have not a single local change? I just want to get the new stuff from upstream and update my fork and local copy of the source code (what I used to do with `svn update`).


Your branch 'master' is ahead of 'origin/master'. You need to push to origin (something like `git push origin` but I think little different, Git will tell you).

BTW, you can compare what you seen on GitHub with what you see locally, e.g.

git log --graph --abbrev-commit --pretty=oneline  --max-count=10


_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

Veronica Andreo
Hi Vaclav,

El dom., 2 jun. 2019 a las 21:52, Vaclav Petras (<[hidden email]>) escribió:


On Sun, Jun 2, 2019 at 3:00 PM Veronica Andreo <[hidden email]> wrote:
Hi devs


[veroandreo@localhost grass7_trunk]$ git remote -v
origin [hidden email]:veroandreo/grass.git (fetch)
origin [hidden email]:veroandreo/grass.git (push)
upstream [hidden email]:OSGeo/grass.git (fetch)
upstream [hidden email]:OSGeo/grass.git (push)

[veroandreo@localhost grass7_trunk]$ git fetch upstream
remote: Enumerating objects: 242, done.
remote: Counting objects: 100% (242/242), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 296 (delta 223), reused 233 (delta 217), pack-reused 54
Receiving objects: 100% (296/296), 56.83 KiB | 1.18 MiB/s, done.
Resolving deltas: 100% (226/226), completed with 105 local objects.
From github.com:OSGeo/grass
 * [new branch]          changelog_fix_msg -> upstream/changelog_fix_msg
   3797ccaaf..b300e66fc  master            -> upstream/master
   1ca5e4e34..e1e13d782  releasebranch_7_4 -> upstream/releasebranch_7_4
   15f53e803..dcfce280b  releasebranch_7_6 -> upstream/releasebranch_7_6

[veroandreo@localhost grass7_trunk]$ git branch -a
* master
  remotes/origin/master
  remotes/origin/releasebranch_7_0
  remotes/origin/releasebranch_7_2
  remotes/origin/releasebranch_7_4
  remotes/origin/releasebranch_7_6
  remotes/upstream/changelog_fix_msg
  remotes/upstream/master
  remotes/upstream/releasebranch_7_0
  remotes/upstream/releasebranch_7_2
  remotes/upstream/releasebranch_7_4
  remotes/upstream/releasebranch_7_6

[veroandreo@localhost grass7_trunk]$ git rebase upstream/master
First, rewinding head to replay your work on top of it...
Fast-forwarded master to upstream/master.

[veroandreo@localhost grass7_trunk]$ git status
On branch master
Your branch is ahead of 'origin/master' by 51 commits.
  (use "git push" to publish your local commits)

Why does my origin/master is now ahead by 51 commits, if I have not a single local change? I just want to get the new stuff from upstream and update my fork and local copy of the source code (what I used to do with `svn update`).


Your branch 'master' is ahead of 'origin/master'. You need to push to origin (something like `git push origin` but I think little different, Git will tell you).

but I haven't made a single change... that's what I don't get. How can I be ahead?

BTW, you can compare what you seen on GitHub with what you see locally, e.g.

git log --graph --abbrev-commit --pretty=oneline  --max-count=10

what am I supposed to see there? If I change to 50, i see:

[veroandreo@localhost grass7_trunk]$ git log --graph --abbrev-commit --pretty=oneline  --max-count=50
* f01aa67cf (HEAD -> master) i18N: sync from Transifex
* 9d983ac94 Py2/Py3 compat: Use "gettext.install(..., unicode=True)" in Python 2.
* 65a5a96a6 PyGRASS GridModule silently ignores when module has no output defined, see https://trac.osgeo.org/grass/ticket/3852 (#21)
* e4835d475 v.db.addtable
* 3053328ae v.db.connect
* 85f000ebf r.stream.extract
* e5cfb9488 Python2 fixes
* e3ed0b7df super Python2 valide
* 196428874 added .github/FUNDING.yml
* 74f55730a r.out.mpeg fails because the output file name is empty
* e3418cbad change attribute/method argument name
* da230fe59 fixes
* 9a968d59e Draft intro added
* 6d0b0ded2 r.in.wms: add proxy for GDAL driver
* 94754df99 libinit: shorten GRASS prompt
* de48a8d77 r.cost/r.walk: check return code
* e9070421b libproj: fix support for PROJ6
* 29297bc2e segmentlib: malloc -> calloc
* efee46fc5 v.in.ogr: fix OGR extents
* 107e3a616 Travis-CI: enable ccache for faster builds
* f1d7d2394 svn2cl replaced with tools/gitlog2changelog.py
* e240b5a60 tools/gitlog2changelog.py: added
* 8036fa977 contributors.csv: email updated
* 67a759c39 translators.csv: email update (test for grass-commit ML notification)
* 99cae4154 wxGUI/digitizer: fixes for python 3 (https://trac.osgeo.org/grass/ticket/3777)
* bf06fae1d lib/init/grass.py: Stop clearing the terminal
* 34e35a977 wxGUI About System: 'GRASS SVN revision' changed to more generic 'Code revision'
* 2b570a9a0 GRASS_VERSION_SVN -> GRASS_VERSION_GIT + update g.version
* 97a123681 update readme section - get write access
* 80072cf87 readme: Convert to markdown and add travis badge
* ccb7b6b28 r.contour: fix broken contour lines (#3846), clean contour lines tracing back on themselves
* c757924cc pygrass.gis: Make Region importable from grass.pygrass.gis
* 7f1dd0d9f pythonlib: fix encoding
* 9d4306801 fix tests for Python 3
* 8b9512b8b (origin/master) pygrass: fixing doctests (only for Python 3)
* ebe8eb958 pygrass: fixes for Python 3
* 4f2c2421e gunittest: when printing, it should be 'str' in py 2 and 3
* b29dda7dd t.rast.gapfill: fix tests
* b113de305 t.rast.univar: fix tests
* ec44b8432 pygrass: decode only if stdout/stderr not empty

Note the boldface. What does it mean?
I'm completely lost...

Vero

_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

wenzeslaus


On Sun, Jun 2, 2019 at 4:11 PM Veronica Andreo <[hidden email]> wrote:
Hi Vaclav,

El dom., 2 jun. 2019 a las 21:52, Vaclav Petras (<[hidden email]>) escribió:


On Sun, Jun 2, 2019 at 3:00 PM Veronica Andreo <[hidden email]> wrote:
Hi devs


[veroandreo@localhost grass7_trunk]$ git remote -v
origin [hidden email]:veroandreo/grass.git (fetch)
origin [hidden email]:veroandreo/grass.git (push)
upstream [hidden email]:OSGeo/grass.git (fetch)
upstream [hidden email]:OSGeo/grass.git (push)

[veroandreo@localhost grass7_trunk]$ git fetch upstream
remote: Enumerating objects: 242, done.
remote: Counting objects: 100% (242/242), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 296 (delta 223), reused 233 (delta 217), pack-reused 54
Receiving objects: 100% (296/296), 56.83 KiB | 1.18 MiB/s, done.
Resolving deltas: 100% (226/226), completed with 105 local objects.
From github.com:OSGeo/grass
 * [new branch]          changelog_fix_msg -> upstream/changelog_fix_msg
   3797ccaaf..b300e66fc  master            -> upstream/master
   1ca5e4e34..e1e13d782  releasebranch_7_4 -> upstream/releasebranch_7_4
   15f53e803..dcfce280b  releasebranch_7_6 -> upstream/releasebranch_7_6

[veroandreo@localhost grass7_trunk]$ git branch -a
* master
  remotes/origin/master
  remotes/origin/releasebranch_7_0
  remotes/origin/releasebranch_7_2
  remotes/origin/releasebranch_7_4
  remotes/origin/releasebranch_7_6
  remotes/upstream/changelog_fix_msg
  remotes/upstream/master
  remotes/upstream/releasebranch_7_0
  remotes/upstream/releasebranch_7_2
  remotes/upstream/releasebranch_7_4
  remotes/upstream/releasebranch_7_6

[veroandreo@localhost grass7_trunk]$ git rebase upstream/master
First, rewinding head to replay your work on top of it...
Fast-forwarded master to upstream/master.

[veroandreo@localhost grass7_trunk]$ git status
On branch master
Your branch is ahead of 'origin/master' by 51 commits.
  (use "git push" to publish your local commits)

Why does my origin/master is now ahead by 51 commits, if I have not a single local change? I just want to get the new stuff from upstream and update my fork and local copy of the source code (what I used to do with `svn update`).


Your branch 'master' is ahead of 'origin/master'. You need to push to origin (something like `git push origin` but I think little different, Git will tell you).

but I haven't made a single change... that's what I don't get. How can I be ahead?

Your local master branch is now in sync with upstream/master, but the commits from upstream/master are not in your origin/master (which is in GitHub fork), hence your master is ahead.
 

BTW, you can compare what you seen on GitHub with what you see locally, e.g.

git log --graph --abbrev-commit --pretty=oneline  --max-count=10

what am I supposed to see there? If I change to 50, i see:

If you look at your fork's master at GitHub, these won't be there. (Assuming I got what is going on here.)
 

[veroandreo@localhost grass7_trunk]$ git log --graph --abbrev-commit --pretty=oneline  --max-count=50
* f01aa67cf (HEAD -> master) i18N: sync from Transifex
* 9d983ac94 Py2/Py3 compat: Use "gettext.install(..., unicode=True)" in Python 2.
* 65a5a96a6 PyGRASS GridModule silently ignores when module has no output defined, see https://trac.osgeo.org/grass/ticket/3852 (#21)
* e4835d475 v.db.addtable
* 3053328ae v.db.connect
* 85f000ebf r.stream.extract
* e5cfb9488 Python2 fixes
* e3ed0b7df super Python2 valide
* 196428874 added .github/FUNDING.yml
* 74f55730a r.out.mpeg fails because the output file name is empty
* e3418cbad change attribute/method argument name
* da230fe59 fixes
* 9a968d59e Draft intro added
* 6d0b0ded2 r.in.wms: add proxy for GDAL driver
* 94754df99 libinit: shorten GRASS prompt
* de48a8d77 r.cost/r.walk: check return code
* e9070421b libproj: fix support for PROJ6
* 29297bc2e segmentlib: malloc -> calloc
* efee46fc5 v.in.ogr: fix OGR extents
* 107e3a616 Travis-CI: enable ccache for faster builds
* f1d7d2394 svn2cl replaced with tools/gitlog2changelog.py
* e240b5a60 tools/gitlog2changelog.py: added
* 8036fa977 contributors.csv: email updated
* 67a759c39 translators.csv: email update (test for grass-commit ML notification)
* 99cae4154 wxGUI/digitizer: fixes for python 3 (https://trac.osgeo.org/grass/ticket/3777)
* bf06fae1d lib/init/grass.py: Stop clearing the terminal
* 34e35a977 wxGUI About System: 'GRASS SVN revision' changed to more generic 'Code revision'
* 2b570a9a0 GRASS_VERSION_SVN -> GRASS_VERSION_GIT + update g.version
* 97a123681 update readme section - get write access
* 80072cf87 readme: Convert to markdown and add travis badge
* ccb7b6b28 r.contour: fix broken contour lines (#3846), clean contour lines tracing back on themselves
* c757924cc pygrass.gis: Make Region importable from grass.pygrass.gis
* 7f1dd0d9f pythonlib: fix encoding
* 9d4306801 fix tests for Python 3
* 8b9512b8b (origin/master) pygrass: fixing doctests (only for Python 3)
* ebe8eb958 pygrass: fixes for Python 3
* 4f2c2421e gunittest: when printing, it should be 'str' in py 2 and 3
* b29dda7dd t.rast.gapfill: fix tests
* b113de305 t.rast.univar: fix tests
* ec44b8432 pygrass: decode only if stdout/stderr not empty

Note the boldface. What does it mean?
I'm completely lost...

Vero

_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

Markus Neteler
On Sun, Jun 2, 2019 at 10:20 PM Vaclav Petras <[hidden email]> wrote:
...
> Your local master branch is now in sync with upstream/master, but the commits from upstream/master are not in your origin/master (which is in GitHub fork), hence your master is ahead.

It there a way (magic flag?) to avoid this out-of-sync in the first place?
E.g., for the cronjobs I do not want to go there weekly and "git push"
stuff around.

thanks
Markus
_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

Markus Metz-3
In reply to this post by Veronica Andreo


On Sun, Jun 2, 2019 at 8:59 PM Veronica Andreo <[hidden email]> wrote:

>
> Hi devs
>
> Following instructions here: https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate, I get:
>
> [veroandreo@localhost grass7_trunk]$ git remote -v
> origin [hidden email]:veroandreo/grass.git (fetch)
> origin [hidden email]:veroandreo/grass.git (push)
> upstream [hidden email]:OSGeo/grass.git (fetch)
> upstream [hidden email]:OSGeo/grass.git (push)
>
> [veroandreo@localhost grass7_trunk]$ git fetch upstream
> remote: Enumerating objects: 242, done.
> remote: Counting objects: 100% (242/242), done.
> remote: Compressing objects: 100% (25/25), done.
> remote: Total 296 (delta 223), reused 233 (delta 217), pack-reused 54
> Receiving objects: 100% (296/296), 56.83 KiB | 1.18 MiB/s, done.
> Resolving deltas: 100% (226/226), completed with 105 local objects.
> From github.com:OSGeo/grass
>  * [new branch]          changelog_fix_msg -> upstream/changelog_fix_msg
>    3797ccaaf..b300e66fc  master            -> upstream/master
>    1ca5e4e34..e1e13d782  releasebranch_7_4 -> upstream/releasebranch_7_4
>    15f53e803..dcfce280b  releasebranch_7_6 -> upstream/releasebranch_7_6
>
> [veroandreo@localhost grass7_trunk]$ git branch -a
> * master
>   remotes/origin/master
>   remotes/origin/releasebranch_7_0
>   remotes/origin/releasebranch_7_2
>   remotes/origin/releasebranch_7_4
>   remotes/origin/releasebranch_7_6
>   remotes/upstream/changelog_fix_msg
>   remotes/upstream/master
>   remotes/upstream/releasebranch_7_0
>   remotes/upstream/releasebranch_7_2
>   remotes/upstream/releasebranch_7_4
>   remotes/upstream/releasebranch_7_6
>
> [veroandreo@localhost grass7_trunk]$ git rebase upstream/master
> First, rewinding head to replay your work on top of it...
> Fast-forwarded master to upstream/master.
>
> [veroandreo@localhost grass7_trunk]$ git status
> On branch master
> Your branch is ahead of 'origin/master' by 51 commits.
>   (use "git push" to publish your local commits)
>
> Why does my origin/master is now ahead by 51 commits, if I have not a single local change?

Read carefully: "Your branch is ahead of 'origin/master' by 51 commits."
That means your local branch master is ahead of your fork at github: "origin [hidden email]:veroandreo/grass.git"
Your local branch master is based on "upstream [hidden email]:OSGeo/grass.git", i.e. the original repo.
You need to update your fork with something like
git push origin

Don't know if that helps,

Markus M

> I just want to get the new stuff from upstream and update my fork and local copy of the source code (what I used to do with `svn update`).
>

> Can someone please provide full instructions [ideally in https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate]?
>
> Thanks much in advance
> Vero
>
>
>
>
> _______________________________________________
> grass-dev mailing list
> [hidden email]
> https://lists.osgeo.org/mailman/listinfo/grass-dev
_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

Panagiotis Mavrogiorgos
In reply to this post by Veronica Andreo
I'm completely lost...
 
Dear Vero,

As others have suggested, you pulled changes from upstream into your local repo and you now need to push them to your personal fork (i.e. you need to push then to origin).

git is more powerful than subversion, but this power comes with increased complexity. You can't use git thinking it is subversion. In order to become effective you need to understand the new concepts. Learning about them is obviously not trivial but it is not that hard either. It just takes a little bit of reading and some practise. 

In case you are interested, I have heard good words about this tutorial: https://learngitbranching.js.org/
Do take note that it has two sections: main and remote. The first one will teach you about working with your local repo (rebasing etc) and the other about working with remotes.
It there a way (magic flag?) to avoid this out-of-sync in the first place?
E.g., for the cronjobs I do not want to go there weekly and "git push"
stuff around.
Yes, but we need to know the contents of the cron scripts first.

all the best,
P.

_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

Markus Neteler
On Sun, Jun 2, 2019 at 10:52 PM Panagiotis Mavrogiorgos
<[hidden email]> wrote:
...
> Markus wrote:
>> It there a way (magic flag?) to avoid this out-of-sync in the first place?
>> E.g., for the cronjobs I do not want to go there weekly and "git push"
>> stuff around.
>
> Yes, but we need to know the contents of the cron scripts first.

It simply follows the HowToGit on trac which leads to the mentioned problem.

What I am searching for is that the disk copy is the same as on the
server. As it is a cronjob there will be no local changes. Still, some
push magic seems to me missing from
https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate

thanks,
Markus
_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

Markus Neteler
In reply to this post by Markus Metz-3
On Sun, Jun 2, 2019 at 10:23 PM Markus Metz
<[hidden email]> wrote:
> On Sun, Jun 2, 2019 at 8:59 PM Veronica Andreo <[hidden email]> wrote:
...
> > Why does my origin/master is now ahead by 51 commits, if I have not a single local change?
>
> Read carefully: "Your branch is ahead of 'origin/master' by 51 commits."
> That means your local branch master is ahead of your fork at github: "origin [hidden email]:veroandreo/grass.git"
> Your local branch master is based on "upstream [hidden email]:OSGeo/grass.git", i.e. the original repo.
> You need to update your fork with something like
> git push origin

OK, let's try:

[mneteler@oboe releasebranch_7_6 ]$ git status
On branch releasebranch_7_6
Your branch is ahead of 'origin/releasebranch_7_6' by 7 commits.
  (use "git push" to publish your local commits)

[mneteler@oboe releasebranch_7_6 ]$ git push origin
Enumerating objects: 31, done.
Counting objects: 100% (31/31), done.
Delta compression using up to 4 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (18/18), 1.97 KiB | 1.97 MiB/s, done.
Total 18 (delta 14), reused 0 (delta 0)
remote: error: refusing to update checked out branch:
refs/heads/releasebranch_7_6
remote: error: By default, updating the current branch in a non-bare repository
remote: is denied, because it will make the index and work tree inconsistent
remote: with what you pushed, and will require 'git reset --hard' to match
remote: the work tree to HEAD.
remote:
remote: You can set the 'receive.denyCurrentBranch' configuration variable
remote: to 'ignore' or 'warn' in the remote repository to allow pushing into
remote: its current branch; however, this is not recommended unless you
remote: arranged to update its work tree to match what you pushed in some
remote: other way.
remote:
remote: To squelch this message and still keep the default behaviour, set
remote: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To /home/mneteler/software/grass-p2/../grass-p3/master
 ! [remote rejected]     releasebranch_7_6 -> releasebranch_7_6
(branch is currently checked out)
error: failed to push some refs to
'/home/mneteler/software/grass-p2/../grass-p3/master'

Meep... more ideas? Cannot be so difficult :-)

thanks
markusN
_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

Veronica Andreo
In reply to this post by Markus Metz-3
Ok, got it... the `git push origin` put my origin in sync with upstream. So, for the way we have set remote/origin and remote/upstream, the update goes from upstream to local and from local to origin, is that right? Is there another way? I would have imagined, dunno why, that the update would go from upstream to origin to local...

Anyway, I think  we need a new section here: https://trac.osgeo.org/grass/wiki/HowToGit

Keep your fork up to date (or in sync with upstream/master)
git fetch upstream
git rebase upstream/master
git push origin

I also suggest then to remove the link to sync a fork under the section "Workflow for core grass repository" if that is not the recommended procedure (git fetch + git merge) because it leads to confusion in this case.

In any case to update my local copy and recompile the source code, I could ommit the git push origin for now, though I'll need it eventually if I make local changes myself.

Thanks for the help :)
Vero


El dom., 2 jun. 2019 a las 22:23, Markus Metz (<[hidden email]>) escribió:


On Sun, Jun 2, 2019 at 8:59 PM Veronica Andreo <[hidden email]> wrote:

>
> Hi devs
>
> Following instructions here: https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate, I get:
>
> [veroandreo@localhost grass7_trunk]$ git remote -v
> origin [hidden email]:veroandreo/grass.git (fetch)
> origin [hidden email]:veroandreo/grass.git (push)
> upstream [hidden email]:OSGeo/grass.git (fetch)
> upstream [hidden email]:OSGeo/grass.git (push)
>
> [veroandreo@localhost grass7_trunk]$ git fetch upstream
> remote: Enumerating objects: 242, done.
> remote: Counting objects: 100% (242/242), done.
> remote: Compressing objects: 100% (25/25), done.
> remote: Total 296 (delta 223), reused 233 (delta 217), pack-reused 54
> Receiving objects: 100% (296/296), 56.83 KiB | 1.18 MiB/s, done.
> Resolving deltas: 100% (226/226), completed with 105 local objects.
> From github.com:OSGeo/grass
>  * [new branch]          changelog_fix_msg -> upstream/changelog_fix_msg
>    3797ccaaf..b300e66fc  master            -> upstream/master
>    1ca5e4e34..e1e13d782  releasebranch_7_4 -> upstream/releasebranch_7_4
>    15f53e803..dcfce280b  releasebranch_7_6 -> upstream/releasebranch_7_6
>
> [veroandreo@localhost grass7_trunk]$ git branch -a
> * master
>   remotes/origin/master
>   remotes/origin/releasebranch_7_0
>   remotes/origin/releasebranch_7_2
>   remotes/origin/releasebranch_7_4
>   remotes/origin/releasebranch_7_6
>   remotes/upstream/changelog_fix_msg
>   remotes/upstream/master
>   remotes/upstream/releasebranch_7_0
>   remotes/upstream/releasebranch_7_2
>   remotes/upstream/releasebranch_7_4
>   remotes/upstream/releasebranch_7_6
>
> [veroandreo@localhost grass7_trunk]$ git rebase upstream/master
> First, rewinding head to replay your work on top of it...
> Fast-forwarded master to upstream/master.
>
> [veroandreo@localhost grass7_trunk]$ git status
> On branch master
> Your branch is ahead of 'origin/master' by 51 commits.
>   (use "git push" to publish your local commits)
>
> Why does my origin/master is now ahead by 51 commits, if I have not a single local change?

Read carefully: "Your branch is ahead of 'origin/master' by 51 commits."
That means your local branch master is ahead of your fork at github: "origin [hidden email]:veroandreo/grass.git"
Your local branch master is based on "upstream [hidden email]:OSGeo/grass.git", i.e. the original repo.
You need to update your fork with something like
git push origin

Don't know if that helps,

Markus M

> I just want to get the new stuff from upstream and update my fork and local copy of the source code (what I used to do with `svn update`).
>

> Can someone please provide full instructions [ideally in https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate]?
>
> Thanks much in advance
> Vero
>
>
>
>
> _______________________________________________
> grass-dev mailing list
> [hidden email]
> https://lists.osgeo.org/mailman/listinfo/grass-dev
_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

wenzeslaus


On Sun, Jun 2, 2019 at 9:01 PM Veronica Andreo <[hidden email]> wrote:
Ok, got it... the `git push origin` put my origin in sync with upstream. So, for the way we have set remote/origin and remote/upstream, the update goes from upstream to local and from local to origin, is that right?

Right.
 
Is there another way? I would have imagined, dunno why, that the update would go from upstream to origin to local...

That would have to happen on GitHub. For whatever reason GitHub does not help you to do this automatically (I guess for case when one wants to use different workflow...).
 
In any case to update my local copy and recompile the source code, I could ommit the git push origin for now, though I'll need it eventually if I make local changes myself.

If you are creating a new branch locally, you want your local master up to date, if on GitHub, you need also your origin/master up to date.

 

El dom., 2 jun. 2019 a las 22:23, Markus Metz (<[hidden email]>) escribió:


On Sun, Jun 2, 2019 at 8:59 PM Veronica Andreo <[hidden email]> wrote:

>
> Hi devs
>
> Following instructions here: https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate, I get:
>
> [veroandreo@localhost grass7_trunk]$ git remote -v
> origin [hidden email]:veroandreo/grass.git (fetch)
> origin [hidden email]:veroandreo/grass.git (push)
> upstream [hidden email]:OSGeo/grass.git (fetch)
> upstream [hidden email]:OSGeo/grass.git (push)
>
> [veroandreo@localhost grass7_trunk]$ git fetch upstream
> remote: Enumerating objects: 242, done.
> remote: Counting objects: 100% (242/242), done.
> remote: Compressing objects: 100% (25/25), done.
> remote: Total 296 (delta 223), reused 233 (delta 217), pack-reused 54
> Receiving objects: 100% (296/296), 56.83 KiB | 1.18 MiB/s, done.
> Resolving deltas: 100% (226/226), completed with 105 local objects.
> From github.com:OSGeo/grass
>  * [new branch]          changelog_fix_msg -> upstream/changelog_fix_msg
>    3797ccaaf..b300e66fc  master            -> upstream/master
>    1ca5e4e34..e1e13d782  releasebranch_7_4 -> upstream/releasebranch_7_4
>    15f53e803..dcfce280b  releasebranch_7_6 -> upstream/releasebranch_7_6
>
> [veroandreo@localhost grass7_trunk]$ git branch -a
> * master
>   remotes/origin/master
>   remotes/origin/releasebranch_7_0
>   remotes/origin/releasebranch_7_2
>   remotes/origin/releasebranch_7_4
>   remotes/origin/releasebranch_7_6
>   remotes/upstream/changelog_fix_msg
>   remotes/upstream/master
>   remotes/upstream/releasebranch_7_0
>   remotes/upstream/releasebranch_7_2
>   remotes/upstream/releasebranch_7_4
>   remotes/upstream/releasebranch_7_6
>
> [veroandreo@localhost grass7_trunk]$ git rebase upstream/master
> First, rewinding head to replay your work on top of it...
> Fast-forwarded master to upstream/master.
>
> [veroandreo@localhost grass7_trunk]$ git status
> On branch master
> Your branch is ahead of 'origin/master' by 51 commits.
>   (use "git push" to publish your local commits)
>
> Why does my origin/master is now ahead by 51 commits, if I have not a single local change?

Read carefully: "Your branch is ahead of 'origin/master' by 51 commits."
That means your local branch master is ahead of your fork at github: "origin [hidden email]:veroandreo/grass.git"
Your local branch master is based on "upstream [hidden email]:OSGeo/grass.git", i.e. the original repo.
You need to update your fork with something like
git push origin

Don't know if that helps,

Markus M

> I just want to get the new stuff from upstream and update my fork and local copy of the source code (what I used to do with `svn update`).
>

> Can someone please provide full instructions [ideally in https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate]?
>
> Thanks much in advance
> Vero
>
>
>
>
> _______________________________________________
> grass-dev mailing list
> [hidden email]
> https://lists.osgeo.org/mailman/listinfo/grass-dev
_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev

_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

wenzeslaus
In reply to this post by Markus Neteler


On Sun, Jun 2, 2019 at 5:12 PM Markus Neteler <[hidden email]> wrote:
On Sun, Jun 2, 2019 at 10:52 PM Panagiotis Mavrogiorgos
<[hidden email]> wrote:
...
> Markus wrote:
>> It there a way (magic flag?) to avoid this out-of-sync in the first place?
>> E.g., for the cronjobs I do not want to go there weekly and "git push"
>> stuff around.
>
> Yes, but we need to know the contents of the cron scripts first.

It simply follows the HowToGit on trac which leads to the mentioned problem.

What I am searching for is that the disk copy is the same as on the
server. As it is a cronjob there will be no local changes. Still, some
push magic seems to me missing from
https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate

That might be the root of the problem. What you are linking is for cases when you have a fork and you are making local changes (it is under Contributing guidelines after all). It is hard to guess what is the specific problem here without seeing the script, but a simple `git pull` or something close to that should be sufficient just to update a copy for build. Perhaps the *only single* case when using Git is like using Subversion... (let's see if that turns to be true! :-)

The cron script should be probably part of grass-maintenance repo...


_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

Markus Metz-3
In reply to this post by Markus Neteler


On Sun, Jun 2, 2019 at 11:12 PM Markus Neteler <[hidden email]> wrote:

>
> On Sun, Jun 2, 2019 at 10:52 PM Panagiotis Mavrogiorgos
> <[hidden email]> wrote:
> ...
> > Markus wrote:
> >> It there a way (magic flag?) to avoid this out-of-sync in the first place?
> >> E.g., for the cronjobs I do not want to go there weekly and "git push"
> >> stuff around.
> >
> > Yes, but we need to know the contents of the cron scripts first.
>
> It simply follows the HowToGit on trac which leads to the mentioned problem.
>
> What I am searching for is that the disk copy is the same as on the
> server.

Which version on the server? The orginal GRASS repo (https://github.com/OSGeo/grass.git) or a fork? If the aim is to have an unmodified local copy that is in sync with the original GRASS repo, you don't need any other remote and it should be enough to pull.

> As it is a cronjob there will be no local changes. Still, some
> push magic seems to me missing from
> https://trac.osgeo.org/grass/wiki/HowToGit#Keepyourlocalsourcecodeuptodate

In this case (have a local copy in sync with https://github.com/OSGeo/grass.git) push is not needed (no modifications and no fork added as another remote).

Works ar t least for me.

Markus M
>
> thanks,
> Markus
> _______________________________________________
> grass-dev mailing list
> [hidden email]
> https://lists.osgeo.org/mailman/listinfo/grass-dev

_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

Veronica Andreo
In reply to this post by wenzeslaus
Hi again,

El lun., 3 jun. 2019 a las 5:16, Vaclav Petras (<[hidden email]>) escribió:

On Sun, Jun 2, 2019 at 9:01 PM Veronica Andreo <[hidden email]> wrote:
Ok, got it... the `git push origin` put my origin in sync with upstream. So, for the way we have set remote/origin and remote/upstream, the update goes from upstream to local and from local to origin, is that right?

Right.

However, even after the `git push origin`, my fork on github website says: "This branch is 34 commits ahead, 51 commits behind OSGeo:master" (See https://github.com/veroandreo/grass).

In the terminal, all looks fine though (IIUC):

[veroandreo@localhost grass7_trunk]$ git status
On branch master
Your branch is up to date with 'origin/master'.

[veroandreo@localhost grass7_trunk]$ git log --graph --abbrev-commit --pretty=oneline  --max-count=50
* f01aa67cf (HEAD -> master, origin/master) i18N: sync from Transifex
* 9d983ac94 Py2/Py3 compat: Use "gettext.install(..., unicode=True)" in Python 2.
* 65a5a96a6 PyGRASS GridModule silently ignores when module has no output defined, see https://trac.osgeo.org/grass/ticket/3852 (#21)
* e4835d475 v.db.addtable

I don't get it...

Is there another way? I would have imagined, dunno why, that the update would go from upstream to origin to local...

That would have to happen on GitHub. For whatever reason GitHub does not help you to do this automatically (I guess for case when one wants to use different workflow...).
 
In any case to update my local copy and recompile the source code, I could ommit the git push origin for now, though I'll need it eventually if I make local changes myself.

If you are creating a new branch locally, you want your local master up to date, if on GitHub, you need also your origin/master up to date.

yes, but to do a PR into upstream/master is from origin/master, no? So, I also want origin/master up to date, or I cannot do the PR. Sorry for silly questions, I just don't fully understand (yet)
 
Thanks much for your patience
Vero

_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev
Reply | Threaded
Open this post in threaded view
|

Re: instructions to update my local copy of trunk

Markus Neteler
In reply to this post by Markus Metz-3
Hi,

(... I am continuing to talk about grass.osgeo.org here)

On Mon, Jun 3, 2019 at 8:49 AM Markus Metz
<[hidden email]> wrote:
> On Sun, Jun 2, 2019 at 11:12 PM Markus Neteler <[hidden email]> wrote:
...
> > What I am searching for is that the disk copy is the same as on the
> > server.
>
> Which version on the server? The orginal GRASS repo (https://github.com/OSGeo/grass.git) or a fork?

I have now cloned separately for `master` and `releasebranch_7_6` /
`releasebranch_7_4` since they are also used to compile the code for
online manual creation etc.

I am getting closer...

The version I (have to) use there as it is an ancient Debian box:

neteler@osgeo6:~/cronjobs$ git --version
git version 2.1.4

It seems that it works with

git fetch --all --prune       || halt_on_error "git fetch error!"
git pull

> If the aim is to have an unmodified local copy that is in sync with the original GRASS repo, you don't need any other remote and it should be enough to pull.

ok, so the "git fetch" step above is not needed (in this case of only
cloning without local changes as it is the server!)
?

thanks,
markusN
_______________________________________________
grass-dev mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-dev