msg137553 - (view) |
Author: Éric Araujo (eric.araujo) * |
Date: 2011-06-03 16:42 |
When compiling with --enable-shared, the libpython file is not ignored by Mercurial (or Bazaar, I guess). Any objection to the attached patch? I used a wildcard, but could also hard-code the full filename with a fixed shared lib number.
|
msg137972 - (view) |
Author: Éric Araujo (eric.araujo) * |
Date: 2011-06-09 14:35 |
I would also propose to remove *.rej and *.orig from the ignore files. It’s helpful to see them in hg status in case you had a difficult merge and did not fix all files. My usage is that I remove *.rej and *.orig after I’m done merging (or checking that the revert is okay).
|
msg138644 - (view) |
Author: Senthil Kumaran (orsenthil) * |
Date: 2011-06-19 17:00 |
+libpython*.so* is fine, but please don't remove the rej and orig. By convention and practice, those files are meant to be in .ignore files to prevent accidental checkins. Usually when the conflict occurs you are notified immediately and you fix them subsequently. Being notified of pending merge by seeing the.rej files in the hg status seems remote to me.
|
msg138645 - (view) |
Author: R. David Murray (r.david.murray) * |
Date: 2011-06-19 17:06 |
As I've said before, I would vote to not have .rej and .orig in .hgignore. You can always add them to your personal .hgignore, but I know of no way to tell mercurial "I *don't* want to ignore these files that are in the repo .hgignore". If there is such a way I'll be happy with that.
|
msg138646 - (view) |
Author: Éric Araujo (eric.araujo) * |
Date: 2011-06-19 17:09 |
> By convention and practice, those files are meant to be in .ignore
> files to prevent accidental checkins.
Maybe with other tools. Mercurial will tell you what new files are to be added in the next commit once to four times, depending on your setup, so I don’t understand how people accidentally commit .rej files (or .svn directories or Mac OS X crap).
|
msg138667 - (view) |
Author: Senthil Kumaran (orsenthil) * |
Date: 2011-06-19 21:37 |
I strictly have not faced any problem with those rej and orig files being present in the .hgignore. I also thought keeping the .hgignore in the repo was for distribution and never knew that it can affect local views (If you remove .rej and .orig your local version, will it help?)
Yes, mercurial presents us with a list of files are that being added/committed, so we can be careful in not add those spurious leftovers. But at a time when you want to be fast with doing everything via cli options you are at a risk of adding unwanted files (unless protected by .hgignore file).
I see that .hgignore can ignore itself. So, once commited with itself to ignore, I believe people can have personal customization in there. This suggestion is with the understanding that repo/.hgignore is just to distribution and does not affect hg tracking behavior. Please correct me if I am wrong here.
|
msg138683 - (view) |
Author: R. David Murray (r.david.murray) * |
Date: 2011-06-20 02:34 |
I have no idea what you mean by "for distrabution" in this context. The .hgignore in the checkout causes hg to ignore the files/patterns listed in it when any hg commands are run against that checkout. And no I can't remove it in my "local copy", since the whole point of the file is that is is under version control in the repo.
|
msg138684 - (view) |
Author: Senthil Kumaran (orsenthil) * |
Date: 2011-06-20 03:01 |
By "for distribution", I meant that everyone who checks out ( clones)
from hg.cpython.org repository share the same .hgignore file, instead
of each person having to create their own file.
I got an impression from the earlier message that hg tracks (or
ignores tracking) based on .hgignore file in the server itself, which
I wanted to clarify.
|
msg138686 - (view) |
Author: R. David Murray (r.david.murray) * |
Date: 2011-06-20 03:10 |
Well, since there's no central server for hg, it can't track based on the server. Perhaps I confused you by saying that the .hgignore file was "in the repo". (It is "in the repo" in the sense that any tracked file is in the repo, but it's effect comes from its existence in the checkout tree from which you are running the hg commands.)
So yes, the .hgignore you get when you clone is so that everybody has the same base list. That's why we are arguing about its appropriate contents :)
|
msg138687 - (view) |
Author: Senthil Kumaran (orsenthil) * |
Date: 2011-06-20 04:06 |
I tried to a line .hgignore inside .hgignore file, so that it can ignore itself (weird concept, but wanted to try if it works) and users can make local customization of it without any problem. This has been suggest at many places in the Internet. I tried by completing removing the file and adding a new one with .hgignore ignoring itself. But it does'nt seem to work.
So a possible solution seems like this: If .rej and .orig needs to be removed from .hgignore, one should just remove it from the .hgignore file and for people who do not want to be bothered by .rej/.orig files in hg st, they can create an addition ignore directive in their .hgrc
http://mercurial.selenic.com/wiki/TipsAndTricks#Ignore_files_in_local_working_copy_only
|
msg138999 - (view) |
Author: Éric Araujo (eric.araujo) * |
Date: 2011-06-24 22:55 |
Your experiments with .hgignore and your thoughts about server vs. clone .hgignore give me the impression of a misunderstanding of how it works.
To clarify: The repo .hgignore file is a repo-specific listing of patterns to ignore. As such, it needs to be shared, i.e. put under version control.
The ignore files (the repo .hgignore and optional files configured in ~/.hgrc or $SOMECLONE/.hg/hgrc) are consulted only for some commands:
- hg status (ignored files are not considered unknown)
- hg add . (a recursive add does not consider ignored files)
- hg addremove (etc.)
This explains why putting .hgignore in the .hgignore file cannot possibly work.
If *.rej and *.orig are ignored, they don’t show up in “hg status”, and are not added with “hg add somedir”. My point is that this behavior is not useful: it does not protect from anything (who adds directories when merging changesets? also, who does not run status and diff before commit? they should), and does not help us check whether we’ve properly merged all files. I prefer to see the *.rej files in hg status output, check them and delete them.
So, can I commit? I’m willing to update the devguide and reply to possibly angry python-dev feedback with an explanation of how to ignore those files on a per-user or per-clone basis.
|
msg139117 - (view) |
Author: Senthil Kumaran (orsenthil) * |
Date: 2011-06-25 20:38 |
Eric, sure go ahead. As I am not affected by remains of .rej and .orig (neither have I found their usefulness (yet)), so my concerns can be stepped over. Plus, I have found a way to ignore files via patterns in .hgrc.
I already see you and RDM proposing the change, so I am okay to follow. But if you think discussion in python-dev or python-committers would be helpful it would be a good idea, because it affects people's working environment and some might have some concerns or ideas (which might be helpful).
|
msg139194 - (view) |
Author: Senthil Kumaran (orsenthil) * |
Date: 2011-06-26 18:20 |
On Sat, Jun 25, 2011 at 08:38:04PM +0000, Senthil Kumaran wrote:
> As I am not affected by remains of .rej and .orig (neither have I
> found their usefulness (yet)), so my concerns can be stepped over.
Just a side-note. I wondered why is my case so, and I realized that I
had integrated k3diff to handle any conflicts during merge so when a
conflict arises, it immediately invokes k3diff and it allowed me to
handle the conflicts giving me the contexts which are stored in .rej
files.
|
msg141346 - (view) |
Author: Roundup Robot (python-dev) |
Date: 2011-07-29 12:35 |
New changeset 4d351135f128 by Éric Araujo in branch '3.2':
Make VCSes ignore the compiled shared library file (#12255)
http://hg.python.org/cpython/rev/4d351135f128
New changeset bdad5bc9a2ed by Éric Araujo in branch '3.2':
Stop ignoring Mercurial merge conflits files (#12255).
http://hg.python.org/cpython/rev/bdad5bc9a2ed
|
msg141355 - (view) |
Author: Roundup Robot (python-dev) |
Date: 2011-07-29 12:37 |
New changeset 9356d2d61e9f by Éric Araujo in branch '2.7':
Make VCSes ignore the compiled shared library file (#12255)
http://hg.python.org/cpython/rev/9356d2d61e9f
New changeset 4e5127874adf by Éric Araujo in branch '2.7':
Stop ignoring Mercurial merge conflits files (#12255).
http://hg.python.org/cpython/rev/4e5127874adf
|
msg141365 - (view) |
Author: Éric Araujo (eric.araujo) * |
Date: 2011-07-29 12:48 |
This is also fixed in 3.3, but I missed a reference in the merge commit message.
|
|
Date |
User |
Action |
Args |
2022-04-11 14:57:18 | admin | set | github: 56464 |
2011-07-29 12:48:57 | eric.araujo | set | status: open -> closed resolution: fixed messages:
+ msg141365
stage: commit review -> resolved |
2011-07-29 12:37:57 | python-dev | set | messages:
+ msg141355 |
2011-07-29 12:35:16 | python-dev | set | nosy:
+ python-dev messages:
+ msg141346
|
2011-06-26 18:20:44 | orsenthil | set | messages:
+ msg139194 |
2011-06-25 20:38:03 | orsenthil | set | messages:
+ msg139117 |
2011-06-24 22:55:13 | eric.araujo | set | messages:
+ msg138999 |
2011-06-20 04:06:12 | orsenthil | set | messages:
+ msg138687 |
2011-06-20 03:10:04 | r.david.murray | set | messages:
+ msg138686 |
2011-06-20 03:01:48 | orsenthil | set | messages:
+ msg138684 |
2011-06-20 02:34:24 | r.david.murray | set | messages:
+ msg138683 |
2011-06-19 21:37:58 | orsenthil | set | messages:
+ msg138667 |
2011-06-19 17:09:46 | eric.araujo | set | messages:
+ msg138646 |
2011-06-19 17:06:59 | r.david.murray | set | nosy:
+ r.david.murray messages:
+ msg138645
|
2011-06-19 17:00:25 | orsenthil | set | nosy:
+ orsenthil messages:
+ msg138644
|
2011-06-09 14:35:31 | eric.araujo | set | messages:
+ msg137972 title: Make VCSes ignore shared libpython -> A few changes to .*ignore |
2011-06-03 16:42:25 | eric.araujo | create | |