unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* casual contributing with git
@ 2019-05-19  1:41 Jean-Christophe Helary
  2019-05-19  2:08 ` Amin Bandali
  2019-05-19  4:48 ` Marcin Borkowski
  0 siblings, 2 replies; 7+ messages in thread
From: Jean-Christophe Helary @ 2019-05-19  1:41 UTC (permalink / raw)
  To: Emacs developers

I've been reading the docs here:

"GitForEmacsDevs"
https://www.emacswiki.org/emacs/GitForEmacsDevs

and here:

"GitQuickStartForEmacsDevs"
https://www.emacswiki.org/emacs/GitQuickStartForEmacsDevs

And they all mention git push *even* for the "casual developer" (supposedly the one who does not have write access).

Obviously, I can commit on my local master but trying to push anything is not possible and then when I do a git pull to update master I end up with all sorts of conflicts.

Not all casual developers are git masters so it would be nice to have a clearly documented process for them.

So, what's the best way to work for the casual developer who doesn't have write access ?

Should we create a branch where we work and that we keep in sync with master?

> On Jul 5, 2017, at 2:51, Stephen Leake <stephen_leake@stephe-leake.org> wrote:
> 
> Workspaces are cheap; I keep a full checkout of master, and one of each
> branch I'm working on, at all times.

Is that the recommended way ?

I'm ready to update the above docs when I have something that works and that is approved here.


Jean-Christophe Helary
-----------------------------------------------
http://mac4translators.blogspot.com @brandelune





^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: casual contributing with git
  2019-05-19  1:41 casual contributing with git Jean-Christophe Helary
@ 2019-05-19  2:08 ` Amin Bandali
  2019-05-19  2:30   ` Jean-Christophe Helary
  2019-05-19  4:48 ` Marcin Borkowski
  1 sibling, 1 reply; 7+ messages in thread
From: Amin Bandali @ 2019-05-19  2:08 UTC (permalink / raw)
  To: emacs-devel

The CONTRIBUTE [0] file in the Emacs repository should contain the
information you need with regards to the logistics of using git like
branching and the like.

[0]: https://git.savannah.gnu.org/cgit/emacs.git/tree/CONTRIBUTE

In short, usually you would develop on a local branch created from
latest master.  When you’re done and/or when you’d like to show your
work to others and get feedback, you create a patch from your changes,
e.g. using git-format-patch, and use your mail client to send it to the
correct mailing list for the project.  In the case of Emacs, that would
be one of emacs-devel@gnu.org (this list) or bug-gnu-emacs@gnu.org,
depending on the nature of your patch and e.g. if you’re fixing an
existing bug.  I skimmed through the first link in your email, and it
does mention format-patch at some point.

On a side note, instead of creating a patch with git-format-patch and
then sending it separately, you could also use git-send-email to create
a patch and send it at once.  There’s a nice interactive tutorial for
git-send-email over at https://git-send-email.io that walks you through
setting up and using git-send-email to create and send patches to a
project mailing list.

Hope this helps.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: casual contributing with git
  2019-05-19  2:08 ` Amin Bandali
@ 2019-05-19  2:30   ` Jean-Christophe Helary
  2019-05-20  4:23     ` Amin Bandali
  0 siblings, 1 reply; 7+ messages in thread
From: Jean-Christophe Helary @ 2019-05-19  2:30 UTC (permalink / raw)
  To: Emacs developers

[-- Attachment #1: Type: text/plain, Size: 2227 bytes --]

Thank you very much Amin.

> On May 19, 2019, at 11:08, Amin Bandali <bandali@gnu.org> wrote:
> 
> The CONTRIBUTE [0] file in the Emacs repository should contain the
> information you need with regards to the logistics of using git like
> branching and the like.
> 
> [0]: https://git.savannah.gnu.org/cgit/emacs.git/tree/CONTRIBUTE

There is a discovery issue here because when you go to Savannah (https://savannah.gnu.org/projects/emacs/) you don't find that kind of information and instead find a link to EmacsWiki.

What is the best way to propose changes to the Savannah top page ?

Also, the Savannah page links to https://www.gnu.org/software/emacs/ which is beautifully designed but has no information about "contributing" or "developing" even in "Further information".

What is the best way to propose changes to the gnu/emacs page ?

> In short, usually you would develop on a local branch created from
> latest master.  When you’re done and/or when you’d like to show your
> work to others and get feedback, you create a patch from your changes,
> e.g. using git-format-patch, and use your mail client to send it to the
> correct mailing list for the project.  In the case of Emacs, that would
> be one of emacs-devel@gnu.org (this list) or bug-gnu-emacs@gnu.org,
> depending on the nature of your patch and e.g. if you’re fixing an
> existing bug.  I skimmed through the first link in your email, and it
> does mention format-patch at some point.

That's what I found out eventually. But the EmacsWiki pages don't really address people who don't have write access so I was a bit confused.

> On a side note, instead of creating a patch with git-format-patch and
> then sending it separately, you could also use git-send-email to create
> a patch and send it at once.  There’s a nice interactive tutorial for
> git-send-email over at https://git-send-email.io that walks you through
> setting up and using git-send-email to create and send patches to a
> project mailing list.

Thank you.

> Hope this helps.

Very much. Thank you again.

Jean-Christophe Helary
-----------------------------------------------
http://mac4translators.blogspot.com @brandelune



[-- Attachment #2: Type: text/html, Size: 4777 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: casual contributing with git
  2019-05-19  1:41 casual contributing with git Jean-Christophe Helary
  2019-05-19  2:08 ` Amin Bandali
@ 2019-05-19  4:48 ` Marcin Borkowski
  2019-05-22  5:31   ` Eli Zaretskii
  1 sibling, 1 reply; 7+ messages in thread
From: Marcin Borkowski @ 2019-05-19  4:48 UTC (permalink / raw)
  To: Jean-Christophe Helary; +Cc: Emacs developers


On 2019-05-19, at 03:41, Jean-Christophe Helary <brandelune@gmail.com> wrote:

>> On Jul 5, 2017, at 2:51, Stephen Leake <stephen_leake@stephe-leake.org> wrote:
>>
>> Workspaces are cheap; I keep a full checkout of master, and one of each
>> branch I'm working on, at all times.
>
> Is that the recommended way ?

Of course not!  (At least, not as far as Git goes in general - but
I don't think there is some Emacs idiosyncrasy here.)

Anyway, if you *must* (or you think you must) create separate
"workspaces" ("worktrees" in official Git parlance) for various
branches, you might want to check out the `git worktree' command.  But
most probably you don't need such a feature.

Also, if you tend to switch between WiP on various branches (which is
not something I would recommend, but may be necessary), `git stash' is
definitely your friend.

Best,

--
Marcin Borkowski
http://mbork.pl



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: casual contributing with git
  2019-05-19  2:30   ` Jean-Christophe Helary
@ 2019-05-20  4:23     ` Amin Bandali
  0 siblings, 0 replies; 7+ messages in thread
From: Amin Bandali @ 2019-05-20  4:23 UTC (permalink / raw)
  To: emacs-devel

Jean-Christophe Helary <brandelune@gmail.com> writes:

> Thank you very much Amin.
>

You’re very welcome, Jean-Christophe.

>

[...]

>
> There is a discovery issue here because when you go to Savannah
> (https://savannah.gnu.org/projects/emacs/) you don't find that kind of
> information and instead find a link to EmacsWiki.
>
> What is the best way to propose changes to the Savannah top page ?
>

I think only the “project admins” can modify the text on a project’s
page on Savannah.  So, I think asking here on emacs-devel would be the
first thing to try.  If you don’t hear from any of the admins listed on
the Emacs project about your question/suggestion here, feel free to try
emailing one of them directly with your suggestion.

>
> Also, the Savannah page links to https://www.gnu.org/software/emacs/
> which is beautifully designed but has no information about
> "contributing" or "developing" even in "Further information".
>
> What is the best way to propose changes to the gnu/emacs page ?
>

Again, I think the first step would be bringing it up here on this list.
Then, you could have a look Emacs’s web page repository [0] to see if
there’s a person that frequently commits to the web pages repo and takes
care of the project’s site.  Currently, for Emacs that person seems to
be Nicolas Petton.

[0]: http://web.cvs.savannah.gnu.org/viewvc/emacs/emacs/

If all of these fail, you could write to webmasters@gnu.org and request
changes.  However, this should be an absolute last resort, since package
maintainers in charge of their own projects’ pages, and the webmasters
generally don’t modify project pages directly, unless a maintainer asks
for it or approves the change.

>
>> In short, usually you would develop on a local branch created from
>> latest master.  When you’re done and/or when you’d like to show your
>> work to others and get feedback, you create a patch from your changes,
>> e.g. using git-format-patch, and use your mail client to send it to the
>> correct mailing list for the project.  In the case of Emacs, that would
>> be one of emacs-devel@gnu.org (this list) or bug-gnu-emacs@gnu.org,
>> depending on the nature of your patch and e.g. if you’re fixing an
>> existing bug.  I skimmed through the first link in your email, and it
>> does mention format-patch at some point.
>
> That's what I found out eventually. But the EmacsWiki pages don't
> really address people who don't have write access so I was a bit
> confused.
>

Right.  Since it’s a wiki, you could edit the page yourself (by clicking
the “Edit this page” link on the bottom of that page) and try to improve
the instructions and make them clearer :)

[...]

> Thank you.
>
>> Hope this helps.
>
> Very much. Thank you again.
>
> Jean-Christophe Helary

Happy to hear that!

Cheers,
amin



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: casual contributing with git
  2019-05-19  4:48 ` Marcin Borkowski
@ 2019-05-22  5:31   ` Eli Zaretskii
  2019-05-24 17:05     ` Marcin Borkowski
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2019-05-22  5:31 UTC (permalink / raw)
  To: Marcin Borkowski; +Cc: brandelune, emacs-devel

> From: Marcin Borkowski <mbork@mbork.pl>
> Date: Sun, 19 May 2019 06:48:25 +0200
> Cc: Emacs developers <emacs-devel@gnu.org>
> 
> 
> On 2019-05-19, at 03:41, Jean-Christophe Helary <brandelune@gmail.com> wrote:
> 
> >> On Jul 5, 2017, at 2:51, Stephen Leake <stephen_leake@stephe-leake.org> wrote:
> >>
> >> Workspaces are cheap; I keep a full checkout of master, and one of each
> >> branch I'm working on, at all times.
> >
> > Is that the recommended way ?
> 
> Of course not!  (At least, not as far as Git goes in general - but
> I don't think there is some Emacs idiosyncrasy here.)

In a way, there is: the branches in Emacs tend to diverge very
quickly, so after a while, if you switch branches in the same tree,
the builds become very long, and worse: you need to bootstrap each
time to avoid problems in the built Emacs.  It quickly becomes very
inconvenient.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: casual contributing with git
  2019-05-22  5:31   ` Eli Zaretskii
@ 2019-05-24 17:05     ` Marcin Borkowski
  0 siblings, 0 replies; 7+ messages in thread
From: Marcin Borkowski @ 2019-05-24 17:05 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: brandelune, emacs-devel


On 2019-05-22, at 07:31, Eli Zaretskii <eliz@gnu.org> wrote:

>> From: Marcin Borkowski <mbork@mbork.pl>
>> Date: Sun, 19 May 2019 06:48:25 +0200
>> Cc: Emacs developers <emacs-devel@gnu.org>
>> 
>> 
>> On 2019-05-19, at 03:41, Jean-Christophe Helary <brandelune@gmail.com> wrote:
>> 
>> >> On Jul 5, 2017, at 2:51, Stephen Leake <stephen_leake@stephe-leake.org> wrote:
>> >>
>> >> Workspaces are cheap; I keep a full checkout of master, and one of each
>> >> branch I'm working on, at all times.
>> >
>> > Is that the recommended way ?
>> 
>> Of course not!  (At least, not as far as Git goes in general - but
>> I don't think there is some Emacs idiosyncrasy here.)
>
> In a way, there is: the branches in Emacs tend to diverge very
> quickly, so after a while, if you switch branches in the same tree,
> the builds become very long, and worse: you need to bootstrap each
> time to avoid problems in the built Emacs.  It quickly becomes very
> inconvenient.

Thanks for the info, good to know!

Best,

-- 
Marcin Borkowski
http://mbork.pl



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-05-24 17:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-19  1:41 casual contributing with git Jean-Christophe Helary
2019-05-19  2:08 ` Amin Bandali
2019-05-19  2:30   ` Jean-Christophe Helary
2019-05-20  4:23     ` Amin Bandali
2019-05-19  4:48 ` Marcin Borkowski
2019-05-22  5:31   ` Eli Zaretskii
2019-05-24 17:05     ` Marcin Borkowski

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).