Re: [Python-Dev] [python-committers] How shall we conduct the Python 3.5 beta and rc periods? (Please vote!)

2015-05-12 Thread Dirkjan Ochtman
On Tue, May 12, 2015 at 4:36 PM, Larry Hastings  wrote:
> BTW, this workload was exacerbated by my foolish desire to keep the revision
> DAG nice and clean.  So I was actually starting over from scratch and
> redoing all the cherry-picking every couple of days, just so I could get all
> the cherry-picked revisions in strict chronological order.  By the end I had
> evolved a pretty elaborate guided-process automation script to do all the
> cherry-picking, which you can see here if you're curious:

Couldn't you just keep this as a branch that you then keep rebasing
(without unlinking the original branch)? It doesn't seem like
something that needs a one-off script, to me.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Add Gentoo packagers of external modules to Misc/ACKS

2013-12-08 Thread Dirkjan Ochtman
Tae Wong,

Please don't speak on behalf the Gentoo Python team.

Everyone else, sorry for this, they are definitely not actually
connected to our Gentoo team.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] cffi in stdlib

2013-02-26 Thread Dirkjan Ochtman
On Tue, Feb 26, 2013 at 4:13 PM, Maciej Fijalkowski  wrote:
> I would like to discuss on the language summit a potential inclusion
> of cffi[1] into stdlib. This is a project Armin Rigo has been working
> for a while, with some input from other developers. It seems that the
> main reason why people would prefer ctypes over cffi these days is
> "because it's included in stdlib", which is not generally the reason I
> would like to hear. Our calls to not use C extensions and to use an
> FFI instead has seen very limited success with ctypes and quite a lot
> more since cffi got released. The API is fairly stable right now with
> minor changes going in and it'll definitely stablize until Python 3.4
> release.

I think this would be great to have in the stdlib.

I think it's useful to note that PyPy is planning to include this in
their stdlib for the next release, too, right?

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] casefolding in pathlib (PEP 428)

2013-04-11 Thread Dirkjan Ochtman
On Thu, Apr 11, 2013 at 11:27 PM, Antoine Pitrou  wrote:
> Hmm, I think I'm tending towards the latter right now.

You might also want to look at what Mercurial does. As a
cross-platform filesystem-oriented tool, it has some interesting
issues in the department of casefolding.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 435 -- Adding an Enum type to the Python standard library

2013-04-12 Thread Dirkjan Ochtman
On Fri, Apr 12, 2013 at 2:55 PM, Eli Bendersky  wrote:
> Ordered comparisons between enumeration values are *not* supported.  Enums
> are
> not integers (but see `IntEnum`_ below)::
>
> >>> Colors.red < Colors.blue
> Traceback (most recent call last):
> ...
> NotImplementedError
> >>> Colors.red <= Colors.blue
> Traceback (most recent call last):
> ...
> NotImplementedError
> >>> Colors.blue > Colors.green
> Traceback (most recent call last):
> ...
> NotImplementedError
> >>> Colors.blue >= Colors.green
> Traceback (most recent call last):
> ...
> NotImplementedError

I like much of this PEP, but the exception type for this case seems
odd to me. Wouldn't a TypeError be more appropriate here?

Somewhat like this:

>>> 'a' - 'b'
Traceback (most recent call last):
  File "", line 1, in 
TypeError: unsupported operand type(s) for -: 'str' and 'str'

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] libffi inclusion in python

2013-04-19 Thread Dirkjan Ochtman
On Thu, Apr 18, 2013 at 11:17 PM, Ronald Oussoren
 wrote:
> Stripping libffi from python's source tree would be fine by me, but would 
> require testing with upstream libffi. AFAIK system libffi on osx wouldn't be 
> goog enough, it doesn't work properly with clang.

If you mean http://bugs.python.org/issue17136, I think that has been
fixed in libffi upstream?

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Issue 11406: adding os.scandir(), a directory iterator returning stat-like info

2013-05-14 Thread Dirkjan Ochtman
On Tue, May 14, 2013 at 12:14 PM, Ben Hoyt  wrote:
> I don't think that's a big issue, however. If it's 3-8x faster in the
> majority of cases (local disk on all systems, Windows networking), and
> no slower in a minority (sshfs), I'm not too sad about that.

Might be interesting to test something status calls with a hacked Mercurial.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Bilingual scripts

2013-05-24 Thread Dirkjan Ochtman
On Fri, May 24, 2013 at 10:23 PM, R. David Murray  wrote:
> Gentoo has a (fairly complex) driver script that is symlinked to all
> of these bin scripts.  The system then has the concept of the
> "current python", which can be set to python2 or python3.  The default
> bin then calls the current default interpreter.  There are also
> xxx2 and xxx3 versions of each bin script, which call the 'current'
> version of python2 or python3, respectively.

I'm one of the Gentoo devs, on the python team. I haven't actually
written any code for this, but I can show a little of what's going on.
I think most of the code is actually in
https://bitbucket.org/mgorny/python-exec. We then install three
scripts:

lrwxrwxrwx 1 root root  11 May 20 14:06 /usr/bin/sphinx-build -> python-exec
-rwxr-xr-x 1 root root 311 May 20 14:06 /usr/bin/sphinx-build-python2.7
-rwxr-xr-x 1 root root 311 May 20 14:06 /usr/bin/sphinx-build-python3.2

sphinx-build-python2.7 looks like this:

#!/usr/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'Sphinx==1.1.3','console_scripts','sphinx-build'
__requires__ = 'Sphinx==1.1.3'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
sys.exit(
load_entry_point('Sphinx==1.1.3', 'console_scripts', 'sphinx-build')()
)

We now use a python2.7 suffix rather than just a 2.7 suffix because we
will install separate wrappers for e.g. pypy1.9 (and we are also
prepared to support jython or other implementations at some point).

If you have any more questions, I'll try to answer them; or, join
#gentoo-python on Freenode, there are generally people hanging out
there who know much more about our setup than I do.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python 3 as a Default in Linux Distros

2013-07-24 Thread Dirkjan Ochtman
On Wed, Jul 24, 2013 at 11:12 AM, Bohuslav Kabrda  wrote:
> - What should user get after using "yum install python"?
> There are basically few ways of coping with this:
> 1) Just keep doing what we do, eventually far in the future drop "python" 
> package and never provide it again (= go on only with python3/python4/... 
> while having "yum install python" do nothing).
> 2) Do what is in 1), but when "python" is dropped, use virtual provide (*) 
> "python" for python3 package, so that "yum install python" installs python3.
> 3), 4) Rename python to python2 and {don't add, add} virtual provide "python" 
> in the same way that is in 1), 2)
> 5) Rename python to python2 and python3 to python at one point. This makes 
> sense to me from the traditional "one version in distro + possibly compat 
> package shipping the old" approach in Linux, but some say that Python 2 and 
> Python 3 are just different languages [3] and this should never be done.
> All of the approaches have their pros and cons, but generally it is all about 
> what user should get when he tries to install python - either nothing or 
> python2 for now and python3 in future - and how we as a distro cope with that 
> on the technical side (and when we should actually do the switch).
> Just as a sidenote, IMO the package that gets installed as "python" (if any) 
> should point to /usr/bin/python, which makes consider these two points very 
> closely coupled.

On Gentoo we get python2 and python3 executables and have user-level
tools to change what the 'python' symlink points to. I think we
default to only having Python 3 installed (and Python 3 is even made
the default Python), though it's currently always the case that Python
2 gets pulled in by some core dependencies.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Official github mirror for CPython?

2013-07-26 Thread Dirkjan Ochtman
On Fri, Jul 26, 2013 at 9:50 AM, Antoine Pitrou  wrote:
>> (For those that haven't seen it, RhodeCode seems broadly comparable to
>> BitBucket feature wise, but because of the way it is licensed, the
>> source code is freely available to all, and running your own instance
>> is free-as-in-beer for non-profits and open source projects).
>
> By "freely available", do you mean actual open source / free software?

It seems to be licensed under the GPLv3.

https://secure.rhodecode.org/rhodecode/files/433d6385b216da52f68fa871ed1ff99f8d618613/COPYING
https://rhodecode.com/blog/25/new-rhodecode-licensing

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Offtopic: OpenID Providers

2013-09-05 Thread Dirkjan Ochtman
On Thu, Sep 5, 2013 at 10:30 PM, Tres Seaver  wrote:
> +1 for supporting Persona as an alternative to OpenID on all *.python.org
> servers.

BTW, I'd be happy to assist with any Persona RP implementations for
python.org services. The MDN docs are pretty good, I got my first RP
going in just a few hours of looking at code (and you can probably do
better if you're more into frontend webdev stuff).

There's also ongoing work that will replace ReadTheDocs accounts with
Persona support.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Offtopic: OpenID Providers

2013-09-05 Thread Dirkjan Ochtman
On Thu, Sep 5, 2013 at 10:33 PM, Glenn Linderman  wrote:
> Is there a Python implementation of Persona I can install on my web server?

If you mean to use your web server as an Identity Provider, try this:

https://bitbucket.org/djc/persona-totp

It currently only implements TOTP-based authentication (i.e. no
passwords), but it should be easy to add a password or 2FA-mode if
you'd prefer that.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Offtopic: OpenID Providers

2013-09-05 Thread Dirkjan Ochtman
On Thu, Sep 5, 2013 at 10:57 PM, Donald Stufft  wrote:
> Not that it changes this statement at all but you wouldn't expect to see a 
> Persona login
> for gmail as persona solves the problem that people don't think of urls as 
> personal
> identifiers by replacing it with emails. So Gmail would be the Persona IdP

And actually you can already trivially login with your GMail account
on any Persona-based Relying Party (that is, a site that uses Persona
to authenticate you). This is because one of the nice parts of the
current implementation of Persona is that Mozilla has implemented
bridges that allow GMail and Yahoo addresses to be authenticated via
their respective OAuth implementations, such that you don't need to
setup an account at Mozilla's fallback IdP (which acts as an Identity
Provider for email addresses that don't currently have an IdP
available to them).

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Add a "transformdict" to collections

2013-09-10 Thread Dirkjan Ochtman
On Tue, Sep 10, 2013 at 11:28 AM, Antoine Pitrou  wrote:
> On the tracker issue, it seems everyone agreed on the principle. There
> is some bikeshedding left to do, though. So here are the reasonable
> naming proposals so far:
>
> - transformkeydict
> - coercekeydict
> - transformdict
> - coercedict
>
> I have a sweet spot for "transformdict" myself.

Given OrderedDict, it seems like this should definitely be
TransformDict rather than transformdict.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP-431 non-status

2013-10-02 Thread Dirkjan Ochtman
On Wed, Oct 2, 2013 at 2:17 PM, Lennart Regebro  wrote:
> If you wonder about the lack of progress reports on pep-431, this is
> because of a lack of progress. I simply haven't had any time to work
> on this. I considered make a kickstarter so I could take time off from
> working, but to be honest, even with that, I still have no time to
> realistically get this in before beta 1.

Is there a list of stuff that needs to be done? I might be able to help out.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python startup time

2013-10-10 Thread Dirkjan Ochtman
On Thu, Oct 10, 2013 at 2:25 PM, Christian Heimes  wrote:
> Benchmark of 1000 times "python -c ''"
>
> Python 3.4dev with all my experimental patches:
>
>   Avg: 0.705161 -> 0.443613: 1.59x faster
>
> 2.7 -> 3.4dev:
>
>   Avg: 0.316177 -> 0.669330: 2.12x slower
>
> 2.7 -> 3.4dev with all my patches:
>
>   Avg: 0.314879 -> 0.449556: 1.43x slower
>
> http://pastebin.com/NFrpa7Jh
>
> Ain't bad! The benchmarks were conducted on a fast 8 core machine with SSD.

This seems promising. What OS are you using? On an older Linux server
with old-style HD's, the difference between 2.7 and 3.2 is much larger
for me:

Avg: 0.0312 -> 0.1422: 4.56x slower

(In this case, I think it might be more useful to report as 0.11s
faster, though.)

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] 2 very interesting projects - Python / Finance

2009-02-17 Thread Dirkjan Ochtman

On 17/02/2009 17:55, Steve Holden wrote:

is "for work on developing Python". Hence your posting (and your
protestations of innocence) is unsolicited commercial email, AKA spam.
Python users who are looking for jobs know about the jobs board, where
you have already submitted vacancy notices (now jeopardized by this
anti-social act). Please stop now - if you must reply, feel free to do
so by private email.


I'd like to mention that python-nl got this, too, so he probably spammed 
a bunch of lists.


Cheers,

Dirkjan

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 372 -- Adding an ordered directory to collections ready for pronouncement

2009-03-02 Thread Dirkjan Ochtman

On 02/03/2009 22:28, Georg Brandl wrote:

We're already quite inconsistent with type name casing in the collections
module, so it wouldn't matter so much.  (Though I'd find symmetry with
defaultdict pleasing as well.)


Since the odict naming is already so prevalent in the wild, it seems to 
me like that would be the best candidate. (Plus, it's shorter!)


/bikeshedding

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-04 Thread Dirkjan Ochtman

On 04/04/2009 17:40, Aahz wrote:

With Brett's (hopefully temporary!) absence, who is spearheading the
Mercurial conversion?  Whoever it is should probably take over PEP 374
and start updating it with the conversion plan, particularly WRT
expectations for dates relative to 3.1 final and 2.7 final.


I'd like to take that on. I know hardly anyone here knows me, but I'm 
one of the Mercurial developers. I've been in contact with Brett, saying 
that I'd gladly as much help as I could, and I figured I'd put a lot of 
time in providing the best possible migration path.


While I haven't posted here much, I've been lurking for about two years 
now, so I know a little about what's going on. Maybe I could pair up 
with someone here who wants to work on it, if that makes people more 
confident?


Anyway, I'm also on the tracker-discuss list, since Brett told me that's 
where infra stuff mostly takes place.


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 07:55, Alexandre Vassalotti wrote:

- Verify that the repository at http://code.python.org/hg/ is
properly converted.


I'm pretty sure that we'll need to reconvert; I don't think the current 
conversion is particularly good. We'll also have to decide on named 
branches vs. clones, for example, and if we could try to reorder revlogs 
to make the repo smaller after conversion.


I've svnsynced the SVN repo so that we can work on it efficiently, and 
I've already talked with Augie Fackler, the hgsubversion maintainer, 
about what the best way forward is. For example, we may want to leave 
some of the very old history behind, or prune some old branches.



- Convert the current svn commit hooks to Mercurial.


Some new hooks should also be discussed. For example, Mozilla uses a 
single-head hook, to prevent people from pushing multiple heads. They 
also have a pushlog extension that keeps a SQLite database of what 
people pushed. This is particularly useful for linearizing history, 
which is required for integration with buildbot infrastructure.



- Add Mercurial support to the issue tracker.


I don't think there's much to do there, but a regex to link up some 
commonly-used revision references would be good. If we use cloned 
branches, we'll have to come up with some syntax to make that work.



- Update the developer FAQ.
- Setup temporary svn mirrors for the main Mercurial repositories.


How do you plan to do that? I don't think there are any tools that 
support that, yet. I've actually started on my own, but I haven't gotten 
very far with it, yet.



- Augment code.python.org infrastructure to support the creation of
developer accounts.


Developers already have accounts, don't they? In any case, some web 
interface to facilitate setting up new clones (branches) is also 
something that's probably desirable. I think Mozilla has some tooling 
for that which we might be able to start off of.


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 02:44, "Martin v. Löwis" wrote:
> I'm personally happy letting you do that (although I do wonder who would
> then be in charge of the Mercurial installation in the long run, the way
> I have been in charge of the subversion installation).

I'd be happy to commit to that for the foreseeable future.

> To proceed, I think the next step should be to discuss in the PEP the
> details of the migration procedure (see PEP 347 for what level of detail
> I produced for the svn migration), and to set up a demo installation
> that is considered ready-to-run, except that it might get torn down
> again, if the actual conversion requires that (it did for the CVS->svn
> case), or if problems are found with the demo installation.

Sounds sane. Would I be able to get access to PSF infrastructure to get 
started on that, or do you want me to get started on my own box? I'll 
probably do the conversion on my own box, but for authn/authz it might 
be useful to be able to use PSF infra.


> I would personally remove all non-mercurial stuff out of PEP 374,
> and retitle it, but that would be your choice.

Moving the current content to a wiki page like you suggest later in this 
thread sounds like a good idea.


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 11:06, "Martin v. Löwis" wrote:

In particular, the Stackless people have requested that they move along
with what core Python does, so their code should also be converted.


I'd be interested to hear if they want all of their stuff converted, or 
just the mainline/trunk of what is currently in trunk/branches/tags.



- integrate with the buildbot


I've setup the buildbot infra for Mercurial (though not many people are 
interesting in it, so it's kind of languished). Using buildbot's hg 
support is easy. 0.7.10 is the first version which works with hg 1.1+, 
though, so we probably don't want to go with anything earlier.



- come up with a strategy for /external (also relevant for
   the buildbot slaves)


I'm not sure exactly what the purpose or mechanism for /external is. 
Sure, it's like a snapshot dir, probably used for to pull some stuff 
into other process? Seems to me like it might be interesting to, for 
example, convert to a simple config file + script that lets you specify 
a package (repository) + tag, which can then be easily pulled in.


But it'd be nice to know where and how exactly this is used.


- decide what to do with the bzr mirrors


I'm assuming the bzr people have ways of importing hg repos. It's 
probably more effective for them to deal with this problem. If helpful, 
there are some scripts that do fast-exporting from hg repos.


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 12:27, Antoine Pitrou wrote:

There's also the issue of how we adapt the current workflow of "svnmerging"
between branches when we want to back- or forward-port stuff. In particular,
tracking of already done or blocked backports.


Right. The canonical way to do that with Mercurial is to commit patches 
against the "oldest" branch where they should be applied, so that every 
stable branch is a strict subset of every less stable branch.


From what I've understood, this doesn't fit the way the Python-dev 
community/process works very well. In that case, there are a number of 
alternatives. For example, hg's export/import commands can be used to 
explicitly deal with diffs that contain hg metadata, the transplant 
extension can be used to automate that, or in some cases, the rebase 
extension might be more appropriate. We can put extended examples from 
the PEP in the wiki to help people discovering the best workflow.


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 13:00, Antoine Pitrou wrote:

Transplant or export/import have the right semantics IMO, but we lose the
tracking that's built in svnmerge. Perhaps a new hg extension? ;)
(the missing functionality is to store the list of transplanted or blocked
changesets in a .hgXXX file (storing the original hashes, not the ones after
transplant), and parse that file in order to compare it with the incoming
changesets from an other repo)


Transplant can already keep the source revision hash on the new revision 
(in hg's equivalent of generic revprops, the extra dict). I think that 
blocked revisions will not be an issue due to the nature of the DAG, but 
I have too little experience with svnmerge to say for sure.


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

(going back on-list)

On 05/04/2009 15:42, Alexandre Vassalotti wrote:

I'm pretty sure that we'll need to reconvert; I don't think the current
conversion is particularly good.


What is bad about it?


For one thing, it has the [svn] prefixes, which I found to be quite 
ugly. hgsubversion in many cases will preserve the rev order from svn so 
that the local revision numbers that hg shows will be the same as in SVN 
anyway. On top of that, good conversion tools save the svn revision in 
the revision metadata in hg, so that you can see it with log --debug.


For another, I'd like to use an author map to bring the revision authors 
more in line with what Mercurial repositories usually display; this 
helps with tool support and is also just a nicer solution IMO.


I have a stab at an author map at http://dirkjan.ochtman.nl/author-map. 
Could use some review, but it seems like a good start.



I largely prefer clone to named branches. From personal experience, I
found named branches difficult to use properly. And, I think even
Mercurial developers don't use them.


No, the Mercurial project currently doesn't use them. Mozilla does use 
them at the moment, because they found they did have some advantages 
(especially lower disk usage because no separate clones were needed). I 
think named branches are fine for long-lived branches.


At the very least we should have a proper discussion over this.


How do you reorder the revlog of a repository?


There are scripts for this which can be investigated.


I am in favor of pruning the old branches, but not of leaving the old
history behind. The current Mercurial mirror of py3k is 92M on my disk
which is totally reasonable. So, I don't see what would be the
advantage there.


The current Mercurial mirror for py3k also doesn't include any history 
from before it was branched, which is bad, IMO. In order to get the most 
of the DVCS structure, it would be helpful if py3k shared history with 
the normal (trunk) branches.



I was thinking of something very basic—e.g., something like a commit
hook that would asynchronously commit the latest revision to svn. We
wouldn't to keep convert much meta-data just the committer's name and
the changelog would be fine.


What's the use case, who do you want to support with this? hgweb 
trivially provides tarballs for download on every revision, so people 
who don't want to use hg can easily download a snapshot.



Not really. Currently, core developers can only push stuff using the
Bazaar setup. Personally, I think SSH access would be a lot nicer, but
this will depend how confident python.org's admins are with this idea.


We could still enable pushing through http(s) for hgweb(dir).

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 15:11, Alexandre Vassalotti wrote:

I am not sure if it would be useful to convert the old branches to
Mercurial. The simplest thing to do would be to keep the current svn
repository as a read-only archive. And if people needs to commit to
these branches, they could request the branch to be imported into a
Mercurial branch (or a simple to use script could be provided and
developer could run it directly on the server to create a user
branch).


We should probably not include any branches that haven't been touched in 
the last 18 months. Then we also leave out branches that have been pruned.


BTW, tags are also missing from the current conversions. We probably 
want to keep all release tags, but not the partial tags (e.g. the 
Distutils tags). Are there any other particularly useful tags we should 
keep?



An auto-close would be a nice feature, but, as you said, not necessary
for the migration. The main stumbling block to implement an auto-close
feature is to define when an issue should be closed. Maybe we could
add our own meta-data to the commit message. For example:

Fix some nasty bug.

Close-Issue: 4532

When a such commit would arrive in one of the main branches, a commit
hook would close the issue if all the affected releases have been
fixed.


It makes more sense to me to use the syntax already used by Trac et al., 
e.g. "(fix|close)s? (issue|#)\d+" for closing and possibly 
"ref(erence)?s? (issue|#)\d+" for creating a link on the issue.


BTW, this would also be a good time to split out the stdlib if that's 
still desirable (which I seem to have gleaned from the PyCon videos).


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 16:39, Antoine Pitrou wrote:

The other nice thing with having "[svn rXXX]" in the patch subject line is that
it makes the info easily viewable and searchable in the Web front-end.


We can still make it accessible/searchable on the web if we don't put it 
in the commit message.



I think at least 3.x and 2.x should live in separate repos. It is pointless for
a clone of py3k to end up pulling all 4+ changesets from the trunk. It would
add 100MB+ to every py3k clone (that is, quadrupling the size of the 
repository).


I don't agree. It's quite annoying for things like annotate/blame, for 
example, where you may have to switch to another branch while chasing 
down a defective change. I also think 100MB+ is a cheap price to pay, 
given you only pay it in disk space (cheap) and initial clone time (not 
very often, and usually still quite fast). Also, at some point you 
presumably want to deprecate the whole 2.x line, right? So at that 
point, it'd be nice to have a full 3.x line with all the history in it, 
so that you can just throw away the 2.x stuff and still have full history.


I do agree that 2.x and 3.x should probably be in separate clones.


Is any SVN-to-hg conversion tool able to parse the commits produced by
svnmerge? And, even then, turn that information into useful hg information (say,
transplant metadata of which changes were ported)?


I think things are these are planned for hgsubversion, yes. I'd probably 
want to look at implementing some support for it myself if that makes 
the conversion of the Python repositories better.



I'm not sure what the problem is. Developer SVN access already goes through
ssh.


Okay, sounds like that will be easy. Would be good to enable compression 
on the SSH, though, if that's not already done.


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 17:18, Antoine Pitrou wrote:

It is a cheap price to pay if there is a significant return for it. In my
experience using the hg mirror of the py3k branch, I don't remember having had
to run "annotate" on the trunk to hunt for a change that I'd witnessed in py3k.
Other developers may have different experiences, though.

As for the clone time, one of our proeminent developers is, IIRC, on a 40 kb/s
line. Perhaps he wants to step in and say whether cloning the trunk is a painful
experience for him, or not.


Sure it's painful, but he only has to go through that once, maybe twice.


The consensus seems to be that it will not happen before a couple of years.


See, I think the point here is that, even though you want the branches 
to be clones, you also want them to all be part of the same directed 
acyclic graph (that DAG thing I keep nattering on about). That way, you 
can later merge every branch back in to some other branch (even if it's 
trivial merge that doesn't keep anything from one of the branches). Even 
if that's not for a couple of years, it's nice when you'll be able to do 
it in a couple of years without changing all the hashes (meaning 
everybody has to re-clone).


For any dial-up providers, we could for example provide a repository 
that just has the changesets up to the split between trunk and py3k. He 
can clone that once, clone it locally, then pull the rest of the 
respective history in those local clones.


If you don't have common history, a few of the niceties of having a 
DAG-based DVCS in the first place go away; that seems like a pity.



Does the hg protocol compress that good? I would have thought there is already a
lot of compression in the layout (given that it seems much more efficient than
some of its competitors).


When used over HTTP, hg uses bundles (which can also be used as separate 
file to exchange changesets informally). Bundles contain gzip- or 
bzip2-compressed csets. When communicating over SSH, on the other hand, 
hg defaults to uncompressed streams, because the assumption is that 
connections can use SSH's compression, which is more efficient.


All of this functions on top of the already quite efficient revlogs that 
make up the basic storage model for hg.


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 19:50, "Martin v. Löwis" wrote:

Ok, that's a problem. We currently run 0.7.5 on the master, and have
made custom changes that need to be forward-ported. IIUC, this will
also mean that the waterfall default page is gone, which might surprise
people.

I suppose all slaves also need to upgrade.


Why is the waterfall default page gone? I had that in my 0.7.9 setup, at 
least. Provided the 0.7.5 slaves work with 0.7.10, then no, it's not 
necessary to upgrade the slaves. The problem in buildbot was strictly 
with the change detection in hg repos (combined with the Mercurial API, 
which hasn't entirely become stable -- so it changed a bit in 1.1).



Take a look at the batch files in Tools/buildbot - they are the
primary consumers. PCbuild/readme.txt also refers to it.


Will do.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 19:37, "Martin v. Löwis" wrote:

Any decision to have or not have such a feature should be stated in
the PEP. I personally don't use IDEs, so I don't care (although
I do notice that the apparent absence of IDE support for Mercurial
indicates maturity of the technology)


Well, there should be good support for Eclipse (through 
MercurialEclipse), NetBeans (they use hg themselves, after all), and the 
IDE-version of Komodo 5.0+ also includes hg support. I suppose other, 
more Python-specific IDEs might be following suit as Python switches.



Ok, I take that back. I assumed that Mercurial could work *exactly*
as Subversion. Apparently, that's not the case (although I have no
idea what a server-side clone is). So I wait for the PEP to explain
how authentication and access control is to be implemented. Creating
individual Unix accounts for committers should be avoided.


Yeah, that won't be necessary. The canonical solution is to have just 
one Unix account called hg, to which we can add public keys.


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 20:18, "Martin v. Löwis" wrote:

But then, I have not tried installing it, so I don't know what it
actually looks like.


Ah, right. In my setup, there was an index page with three lines of 
text, one of which had a link to the waterfall. So I think that should 
still be simple enough for most of the interested parties. ;)


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 20:29, "Martin v. Löwis" wrote:

FYI: this is the list of hooks currently employed:
- pre: check whitespace
- post: mail python-checkins
 inform regular buildbot
 inform community buildbot
 trigger website rebuild if a PEP was modified
 (but then, whether or not the PEPs will be maintained
  in hg also needs to be decided)


All this is easy to do with Mercurial's hook system. One caveat is that 
stuff (like whitespace) only gets checked at push time, not at commit 
time (running commit hooks would have to be done on the client, but 
since we don't sandbox hooks, they would be a liability to distribute by 
default). People could still set them up locally for pre-commit if they 
want, of course, but otherwise they may need some trickery to modify the 
changesets they want to push.


For the email messages, we'll probably want to use the notify extension 
that comes with hg.



How to authenticate in that interface? We don't have passwords per
committer.


Okay, so we'll use ssh.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman

On 05/04/2009 20:36, "Martin v. Löwis" wrote:

We do require full real names (i.e. no nicknames). Can Mercurial
guarantee such a thing?


We could pre-record the list of allowed names in a hook, then have the 
hook check that usernames include one of those names and an email 
address (so people can still start using another email address).



In the long run, the current trunk may cease to exist, and the py3k
branch may take over its role. Not sure whether this needs to be
considered.


I considered that in some other subthread. :)

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman
On Mon, Apr 6, 2009 at 00:48, Mark Hammond  wrote:
> Just to be clear, what input would you like on that map?

Review of email addresses, pointers to names/email addresses for the
usernames I don't have anything for yet. Also, there's a few commented
question marks, it would be useful if someone checked those.

> I'm listed twice:
>
> mark.hammond = Mark Hammond 
> mhammond = Mark Hammond 
>
> but that email address isn't the address normally associated with any
> checkins I make, nor the address in the comments of the ssh keys I use
> (which is mhamm...@skippinet.com.au)

Your being listed twice is normal; both mark.hammond and mhammond have
been used in the commit history, and I just assumed they're both you.
I'll probably change your email address to be the one associated with
the checkins/public key, though. Is there a list of such email
addresses? I just parsed python-dev archives to get to my list.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman
On Mon, Apr 6, 2009 at 04:27,   wrote:
> Maybe once for each currently active Subversion branch (2.6, 2.7, 3.0, 3.1)?

Sure, if we're doing cloned branches. But then someone will also need
to clone 2.5, and maybe 2.4. The point is, as long as it's a constant
factor and not an order of magnitude more, it's still quite easy to
cope with.

This would also be one of the arguments *for* named branches, I suppose.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman
On Mon, Apr 6, 2009 at 06:20, Alexandre Vassalotti
 wrote:
> But that won't work if people who are not core developers submit us
> patch bundle to import. And maintaining a such white-list sounds to me
> more burdensome than necessary.

Well, if you need contributors to sign a contributor's agreement
anyway, there's already some list out there that we can leverage.

The other option is to play the consenting adults card and ask all
people with push access to ascertain the correct names of committer
names on patches they push.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman
Alexandre Vassalotti  peadrop.com> writes:
> If I recall correctly, only ssh clients can request compression to the
> server—in other words, the server cannot forces the clients to use
> compression, but merely allow them use it.
> 
> See the man page for sshd_config and ssh_config for the specific details.

So we'll explain how to configure that in the .hgrc/Mercurial.ini file that
people will have to create anyway.

Alternatively, we do it the way Mozilla has done and let everyone clone/pull
over http and push over ssh. Then everyone always gets compression for the big
clones/pulls, pushes are a little slower (but they aren't usually that large),
and people who don't have push access already have the right setup.

Cheers,

Dirkjan

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman
Martin v. Löwis  v.loewis.de> writes:
> Is it possible to branch from a subdirectory? For the "different VMs"
> stuff, it's rather desirable to have a branch of the test suite, and
> the perhaps the standard library, than extracting it from the source.

You can only branch the whole repository. Of course you could drop the other
stuff right after branching it, but that would kind of defy the point of
branching (since you won't really be able to merge later on).

This is why it might be interesting to just split out the stdlib entirely.
Though maybe we should wait for Mercurial's subrepos support to arrive before we
go there (so we can a CPython repo that has the stdlib repo included
automatically). Something like that is already provided by the forest extension,
but it's not being maintained. Subrepo support is slated for the 1.3 release,
which is planned for early July.

Cheers,

Dirkjan

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-05 Thread Dirkjan Ochtman
Alexandre Vassalotti  peadrop.com> writes:
> With Mercurial, we will need to add support for server-side clone
> ourselves. There's few ways to provide this feature. We give Unix user
> accounts to all core developers and let developers manages their
> private branches directly on the server. You made clear that this is
> not wanted. So an alternative approach is to add a interface
> accessible via SSH. As I previously mentioned, this is the approach
> used by Mozilla.

The easier solution here is to just allow normal local-to-remote clones. hg
supports commands like hg clone . ssh://h...@hg.python.org/my-branch without the
need for any extra scripts or setup. I think that would be a good start.

> This makes me remember that we will have to decide how we will
> reorganize our workflow. For this, we can either be conservative and
> keep the current CVS-style development workflow—i.e., a few main
> repositories where all developers can commit to. Or we could drink the
> kool-aid and go with a kernel-style development workflow—i.e., each
> developer maintains his own branch and pull changes from each others.

The differences between these workflows aren't all that big, i.e. it's not like
there's a big schisma between them. But I suspect that, in a setup where
buildbots are important, a very much multi-repo setup probably isn't a good idea
(this is also why Mozilla doesn't use that many repos; their continuous
integration infra is /very/ important to them).

Cheers,

Dirkjan

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-06 Thread Dirkjan Ochtman
On Mon, Apr 6, 2009 at 10:21, Philippe Fremy  wrote:
> One question: if somebody pushes a changeset with 3 commits, will the
> pre and post hooks be applied on all of the commits, or only on the
> final commit ?
>
> If this is applied on every commit, then you have no way to fix a
> whitespace problem without rewriting your history ?

Correct, so if the latter is something we want, we could run the
whitespace hook just on every changegroup (group of changesets
pushed).

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-06 Thread Dirkjan Ochtman
On Mon, Apr 6, 2009 at 11:14, Philippe Fremy  wrote:
> This is a problem I have with my daily usage of mercurial. It's supposed
> to be great to work offline and to commit your intermediate versions
> before it's fully working but if you do that, all those intermediate non
> working versions find their way into the main repository.

Well, it can also be nice to have smaller commits. They're easier to
review, and will provide easier history to browse/read later on.

BTW, having smaller commits doesn't necessarily equate having
non-working changesets. I.e. in my work on Mercurial, I'll often push
small changesets (we all do), but we try to keep the test suite
passing in every single one of them.

> This means that something like "all test pass 100% or close on every
> version of the repository" is not really feasible unless every committer
> agrees not to have any version in his local repository that does not
> break any tests. Which defeats part of the purpose of being able to have
> a local repository, no ?

This is why you'd want something like a pushlog, to provide a way to
see what revisions were actually tested by buildbots.

Another thing that I discussed with Georg last night would be a setup
where changesets get pushed to a gateway repo that runs the tests and
only pushes to an "official" repo if everything's still green. That
should probably be a topic discussed separately, though.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-06 Thread Dirkjan Ochtman
On Mon, Apr 6, 2009 at 13:55, Michael Foord  wrote:
> Gated checkins can work fine but can also have many problems. For example if
> we have a spuriously failing test then if you are working on an unrelated
> issue it will be entirely up to chance as to whether you can checkin...

Sure, it's a problem, but it does get you a tree that's always green.
They're all trade-offs. But let's keep this discussion for some time
*after* migration to hg is completed.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-06 Thread Dirkjan Ochtman
On Tue, Apr 7, 2009 at 00:05, "Martin v. Löwis"  wrote:
> I think the identification in the SSH keys is useless. It contains
> strings like "loe...@mira" or "ncogh...@uberwald", or even multiple
> of them (ba...@wooz, ba...@resist, ...).

Right, so we'll put up the author map somewhere with the email
addresses I gathered and ask for a more thorough review at some point.

> It seems that the PEP needs to spell out a policy as to what committer
> information needs to look like; then we need to verify that the proposed
> name mapping matches that policy.

Right. It's basically "Name Lastname " -- we can verify that in a hook.

> Correct. The objective was to not allow nick names, but have real names
> as committer names. It appears that this policy does not directly
> translate into Mercurial.

One of the nicer features of Mercurial/DVCSs, in my experience, is
that non-committers get to keep the credit on their patches. That
means that it's impossible to enforce a policy more extensive than
some basic checks (such as the format above). Unless we keep a list of
people who have signed an agreement, which will mean people will have
to re-do the username on commits that don't constitute a non-trivial
contribution.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-06 Thread Dirkjan Ochtman
On Tue, Apr 7, 2009 at 04:25, Steve Holden  wrote:
> I would remind you all that it's *very* necessary to make sure that
> whatever finds its way into released code is indeed covered by
> contributor agreements. The PSF (as the guardian of the IP) has to
> ensure this, and so we have to find a way of ensuring that all
> contributions to source are correctly logged against authors in a
> traceable way.

I think having full name *and* email addresses make it easier to trace
code, I guess, since previously code not written by committers would
be harder to trace. The fact that some stuff isn't covered just
becomes more explicit, which is a good thing IMO.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-06 Thread Dirkjan Ochtman
On Tue, Apr 7, 2009 at 08:25, Ben Finney  wrote:
> Remembering, of course, that full names don't follow any template
> (especially not first-name last-name). The person's full name must be
> treated as free-form text, since there's no format common to all.

Of course, unless we lock it down through a list of people who have
contributor's agreements.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-07 Thread Dirkjan Ochtman
On Tue, Apr 7, 2009 at 13:42, Steven D'Aprano  wrote:
> Perhaps you should ask Aahz what he thinks about being forced to provide
> two names before being allowed to contribute.

Huh? The contributor's agreement list would presumably include real
names only (so Aahz is out of luck), but the names wouldn't need to be
limited to just one "word".

I don't think I was implying otherwise; maybe my example much earlier
in the thread was simplistic and I should have put it in EBNF (with
Unicode character classes just to be very sure).

Oh, yes, I am excluding people whose names include non-Unicode
characters. Tough luck.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-07 Thread Dirkjan Ochtman
On Tue, Apr 7, 2009 at 16:29, Aahz  wrote:
> What you apparently are unaware of is that "Aahz" is in fact my full
> legal name.  (Which was clearly the point of Steven's post since he knows
> that Teller also has only one legal name -- it's not common, but we do
> exist.)

Ah, sorry about that. But I hope you also concluded from my email that
that wouldn't be a problem.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial?

2009-04-07 Thread Dirkjan Ochtman
On Tue, Apr 7, 2009 at 20:25, Daniel (ajax) Diniz  wrote:
> BTW, keep in mind some people will prefer to submit diff-generated,
> non-hg patches. IMO,  this use case should be supported before the
> rich-patch one.

Sure, that will be in the PEP as well (and it's quite simple).

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Dropping bytes "support" in json

2009-04-09 Thread Dirkjan Ochtman
On Thu, Apr 9, 2009 at 07:15, Antoine Pitrou  wrote:
> The RFC also specifies a discrimination algorithm for non-supersets of ASCII
> (“Since the first two characters of a JSON text will always be ASCII
>   characters [RFC0020], it is possible to determine whether an octet
>   stream is UTF-8, UTF-16 (BE or LE), or UTF-32 (BE or LE) by looking
>   at the pattern of nulls in the first four octets.”), but it is not
> implemented in the json module:

Well, your example is bad in the context of the RFC. The RFC states
that JSON-text = object / array, meaning "loads" for '"hi"' isn't
strictly valid. The discrimination algorithm obviously only works in
the context of that grammar, where the first character of a document
must be { or [ and the next character can only be {, [, f, n, t, ", -,
a number, or insignificant whitespace (space, \t, \r, \n).

 json.loads('"hi"')
> 'hi'
 json.loads(u'"hi"'.encode('utf16'))
> Traceback (most recent call last):
>  File "", line 1, in 
>  File "/home/antoine/cpython/__svn__/Lib/json/__init__.py", line 310, in loads
>    return _default_decoder.decode(s)
>  File "/home/antoine/cpython/__svn__/Lib/json/decoder.py", line 344, in decode
>    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>  File "/home/antoine/cpython/__svn__/Lib/json/decoder.py", line 362, in 
> raw_decode
>    raise ValueError("No JSON object could be decoded")
> ValueError: No JSON object could be decoded

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Dropping bytes "support" in json

2009-04-09 Thread Dirkjan Ochtman
On Thu, Apr 9, 2009 at 13:10, Antoine Pitrou  wrote:
> Sure, but then:
>
 json.loads('[]')
> []
 json.loads(u'[]'.encode('utf16'))
> Traceback (most recent call last):
>  File "", line 1, in 
>  File "/home/antoine/cpython/__svn__/Lib/json/__init__.py", line 310, in loads
>    return _default_decoder.decode(s)
>  File "/home/antoine/cpython/__svn__/Lib/json/decoder.py", line 344, in decode
>    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>  File "/home/antoine/cpython/__svn__/Lib/json/decoder.py", line 362, in 
> raw_decode
>    raise ValueError("No JSON object could be decoded")
> ValueError: No JSON object could be decoded

Right. :) Just wanted to point your test might not be testing what you
want to test.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Rethinking intern() and its data structure

2009-04-09 Thread Dirkjan Ochtman
On Thu, Apr 9, 2009 at 17:31, Aahz  wrote:
> Please do subscribe to python-dev ASAP; I also suggest that you subscribe
> to python-ideas, because I suspect that this is sufficiently blue-sky to
> start there.

It might also be interesting to the unladen-swallow guys.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Issue5434: datetime.monthdelta

2009-04-16 Thread Dirkjan Ochtman
On Thu, Apr 16, 2009 at 11:54, Amaury Forgeot d'Arc  wrote:
> In my opinion:
> arithmetic with months is a mess. There is no such "month interval" or
> "year interval" with a precise definition.
> If we adopt some kind of month manipulation, it should be a function
> or a method, like you would do for features like last_day_of_month(d),
> or following_weekday(d, 'monday').
>
>    date(2008, 1, 30).add_months(1) == date(2008, 2, 29)

I concur. Trying to shoehorn month arithmetic into timedelta is a
PITA, precisely because it's somewhat inexact. It's better to have
some separate behavior that has well-defined behavior in edge cases.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 383: Non-decodable Bytes in System Character Interfaces

2009-04-22 Thread Dirkjan Ochtman

On 22/04/2009 14:20, gl...@divmod.com wrote:

-1. On UNIX, character data is not sufficient to represent paths. We
must, must, must continue to have a simple bytes interface to these
APIs. Covering it up in layers of obscure encoding hacks will not make
the problem go away, it will just make it harder to understand.


As a hg developer, I have to concur. Keeping bytes-based APIs intact 
would make porting hg to py3k much, much easier. You may be able to 
imagine that dealing with paths correctly cross-platform on a VCS is a 
major PITA, and py3k is currently not helping the situation.


Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Shorter release schedule?

2009-05-13 Thread Dirkjan Ochtman
On Wed, May 13, 2009 at 12:29 AM, Barry Warsaw  wrote:
> I've been in favor of that for a while now.  With the move to a DVCS (how's
> that coming along?)

I've been rewriting PEP 374 about the Mercurial migration. Will post
here once it's ready for review.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 376 : Changing the .egg-info structure

2009-05-15 Thread Dirkjan Ochtman
On Fri, May 15, 2009 at 8:32 AM, Jeroen Ruigrok van der Werven
 wrote:
> Agreed. Within FreeBSD's ports the installed package registration gets a MD5
> hash per file recorded. Size is less interesting though, since essentially
> this information is encapsulated within the hash. Remove one byte from the
> file and your hash is already different. And the case of a collision for
> this kind of registration is sufficiently small to need the size
> information.

Size is nice because it's much cheaper to check. I don't know if mass
uninstalls will be so common that this is actually something we have
to worry about, though.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 384: Defining a Stable ABI

2009-05-17 Thread Dirkjan Ochtman
On Sun, May 17, 2009 at 10:54 PM, "Martin v. Löwis"  wrote:
> Excluded Functions
> --
>
> Functions declared in the following header files are not part
> of the ABI:
> - cellobject.h
> - classobject.h
> - code.h
> - frameobject.h
> - funcobject.h
> - genobject.h
> - pyarena.h
> - pydebug.h
> - symtable.h
> - token.h
> - traceback.h

What kind of effect does this have on optimization efforts, for
example all the stuff done by Antoine Pitrou over the last few months,
and the first few results from unladen? Will it mean we won't get to
the good optimizations until 4.0? Or does it just mean unladen swallow
takes longer to come back to trunk (until 4.0) and every extension
author who wants to be compatible with it will basically have the same
burden as now?

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 384: Defining a Stable ABI

2009-05-17 Thread Dirkjan Ochtman
On Mon, May 18, 2009 at 12:07 AM, "Martin v. Löwis"  wrote:
> I fail to see the relationship, so: no effect that I can see.
>
> Why do you think that optimization efforts could be related to
> the PEP 384 proposal?

It would seem to me that optimizations are likely to require data
structure changes, for exactly the kind of core data structures that
you're talking about locking down. But that's just a high-level view,
I might be wrong.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 384: Defining a Stable ABI

2009-05-17 Thread Dirkjan Ochtman
On Mon, May 18, 2009 at 12:43 AM, Antoine Pitrou  wrote:
> Unless I'm misunderstanding something, Martin doesn't advocate locking data
> structures down (except a couple of outliers such as Py_buffer). An
> ABI-compliant application mustn't tinker directly with Python's data 
> structures,
> but use the ABI functions.

Right. Sorry about the noise, then.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial, linefeeds, and Visual Studio

2009-06-04 Thread Dirkjan Ochtman
On Thu, Jun 4, 2009 at 3:02 PM, Jason R. Coombs  wrote:
> I wanted to share this with the community in case anyone else runs into this 
> issue.  Also, if there's a recommended procedure for addressing this issue 
> (and others that might arise due to non-native line endings), I'd be 
> interested to hear it.

Mercurial comes with a win32text extension that helps resolve issues
like these. It allows you to specify in the .hg/hgrc that .sln files
should always be expanded to CRLF.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial and linefeeds

2009-06-04 Thread Dirkjan Ochtman
On Thu, Jun 4, 2009 at 3:49 PM, R. David Murray  wrote:
> The above statement seems like a really odd design choice, with the
> potential for causing considerable developer coordination headaches.
>
> Any Mercurial boffins want to talk about how this works in practice?

I'm guessing that's just because it uses Mercurial's built-in
configuration file chain (.hg/hgrc, ~/.hgrc and /etc/mercurial/hgrc).
Those aren't transmitted with repositories because they can contain
potentially security-sensitive information (like triggers for
executing interesting hooks and information on what users to trust).

It would certainly be possible to write a modified win32text-like
extension that takes its cues from a versioned file (like the .hgtags
and .hgsigs files currently supported). I'm not sure why the original
author didn't go that way, though.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial, linefeeds, and Visual Studio

2009-06-04 Thread Dirkjan Ochtman
On Thu, Jun 4, 2009 at 4:20 PM, Paul Moore  wrote:
> Silly question, but given that Mercurial itself does *no* conversion,
> and CRLF is the only valid form for that file, why shouldn't the file
> be checked into the repository with CRLF endings, and that's the end
> of it (apart from misconfigured win32text setups on the client)?

That's certainly a valid setup, and I wasn't suggesting otherwise. I
have no experience with .sln files, and I haven't really used
win32text either; I was just commenting on the general facilities of
Mercurial wrt these kinds of issues.

> Ideally, the history should be imported with CRLF throughout, which is
> a task for the migration process. If that's too hard because of
> limitations in the available conversion tools, then maybe the
> limitation has to be accepted that pre-conversion copies of the file
> have incorrect line endings and a manual fiox is committed right after
> the switchover.

Importing it with CRLF throughout would certainly be possible. I'll
add a section to my draft PEP.

> Essentially, pcbuild.sln is a binary file, and should be treated as
> such. Maybe it's an error in the Subversion setup that it's treated as
> text at all...

Yes, it certainly seems that way.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Issues with process and discussions (Re: Issues with Py3.1's new ipaddr)

2009-06-04 Thread Dirkjan Ochtman
On Thu, Jun 4, 2009 at 5:08 PM, C. Titus Brown  wrote:
> In my experience this kind automated stuff is too fragile to work
> reliably & specifically over time, which is what we would want -- "fire
> and forget".

You could a python-dev account in the tracker and allow people to nosy it.

> Is there a good python-dev archive search mechanism (other than to
> google "python-dev " ;) out there?  Wouldn't that help?

Like http://python.markmail.org/?

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Draft PEP 385: Migrating from svn to Mercurial

2009-06-05 Thread Dirkjan Ochtman
So, a while ago Martin von Löwis asked who would champion the
migration to Mercurial, and I volunteered. He asked me to produce a
PEP outlining which steps to take, which I've been working on. The PEP
is numbered 385, and is just about ready for your review. I'd really
welcome any sort of feedback or questions about Mercurial and
surrounding tools relevant to the migration project (I'm happy to
answer other questions as well, but maybe python-dev is not the
appropriate forum for that -- instead, try mercur...@selenic.com
and/or #mercurial on freenode).

http://www.python.org/dev/peps/pep-0385/

In particular, you may want to review (a) branches that you care about
and whether they would be migrated under the current proposal, (b)
non-release tags that you think are useful and (c) the author map
(check if it has a correct email address for you and people you know).

Thanks to Antoine, Benjamin, Georg and Martin for early feedback.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Draft PEP 385: Migrating from svn to Mercurial

2009-06-08 Thread Dirkjan Ochtman
On Mon, Jun 8, 2009 at 16:29, Frank Wierzbicki wrote:
> At PyCon, we discussed moving Jython's svn repository to Python's with
> Martin von Löwis.  I would think that Jython would live in Python's hg
> repository in the same way as stackless and distutils.  Has the
> parallel project strategy been determined?  Will they be separate
> repositories, separate "forests", something else?

I think they should just be separate repositories. The svn.python.org
"repository" is more like a collection of actual repositories than a
repository in itself.

> Also, Martin suggested we migrate to Python's svn and then go along
> for the svn->hg ride.  Does that still make sense now that some
> planning has been done?

I'd say migrating to Python's svn doesn't make a whole lot of sense at
this point, but I'll leave that to Martin (since he has to do the
work). For the conversion, I can just as well take the Jython repo
from your current server. I've started a svnsync job with your repo so
I can run some test conversions. It's a relatively small repository,
so it shouldn't be much of a problem.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Draft PEP 385: Migrating from svn to Mercurial

2009-06-08 Thread Dirkjan Ochtman
On Mon, Jun 8, 2009 at 21:57, "Martin v. Löwis" wrote:
> See my other message. We need to collect SSH keys, and I don't mind
> moving the Jython repository. OTOH, if the Jython repository gets
> converted into hg right away, it's certainly (a little) less work.

Yeah, I guess if you move it to a separate repo on the svn.python.org
server that might be nice. But it's not a big deal either way.

> FWIW, I really think that PEP 385 should really grow a timeline
> pretty soon. Are we going to switch this year, next year, or 2011?

Sorry, I should've been clearer. I fully intend to complete the
conversion in a few months, say by October 1st or sooner. That would
be between 3.1 and whatever the next release will end up being, I
hope? It's just hard to be very specific at this point.

BTW, I tried my hand at rewriting the revlog for the manifest, as
described in the PEP, and it made the full conversion *much* (as in
70%) smaller. I've also been looking at what branches we should keep
and will ask for definitive feedback on that point soonish.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Tags from closed branch heads?

2009-06-09 Thread Dirkjan Ochtman
So ca8d05e1f1d1 changed the default for repo.heads() to closed=False,
so that calls to heads() by default will not return closed heads.
Unfortunately, this also means that any tags from those heads will not
be considered anymore. That seems inadvertent at best, and may be
should be reverted. Conceptually, it seems wrong that deleting a
branch would also delete all the tags from it. I'd like to propose
this change:

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -320,7 +320,7 @@
 def _hgtagsnodes(self):
 last = {}
 ret = []
-for node in reversed(self.heads()):
+for node in reversed(self.heads(closed=True)):
 c = self[node]
 rev = c.rev()
 try:

Is that something we can agree on?

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Tags from closed branch heads?

2009-06-09 Thread Dirkjan Ochtman
Sorry about that, got dev-lists mixed up in my head somewhere...

On Tue, Jun 9, 2009 at 16:52, Dirkjan Ochtman wrote:
> So ca8d05e1f1d1 changed the default for repo.heads() to closed=False,
> so that calls to heads() by default will not return closed heads.
> Unfortunately, this also means that any tags from those heads will not
> be considered anymore. That seems inadvertent at best, and may be
> should be reverted. Conceptually, it seems wrong that deleting a
> branch would also delete all the tags from it. I'd like to propose
> this change:
>
> diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
> --- a/mercurial/localrepo.py
> +++ b/mercurial/localrepo.py
> @@ -320,7 +320,7 @@
>     def _hgtagsnodes(self):
>         last = {}
>         ret = []
> -        for node in reversed(self.heads()):
> +        for node in reversed(self.heads(closed=True)):
>             c = self[node]
>             rev = c.rev()
>             try:
>
> Is that something we can agree on?
>
> Cheers,
>
> Dirkjan
>
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Python script language or not

2009-06-17 Thread Dirkjan Ochtman
On Wed, Jun 17, 2009 at 12:27, abhishek goswami wrote:
> Can anyone clarify me. Please let me know also it is right forum or not.

This is not the right forum. This mailing list is about developing the
CPython interpreter.

For general questions, you may want to try the comp.lang.python newsgroup.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] semi-regular check that all committers are subscribed to python-committers

2009-07-02 Thread Dirkjan Ochtman
On Thu, Jul 2, 2009 at 21:04, Brett Cannon wrote:
> If you have commit privileges on Python but are not subscribed to
> python-committers, please let me know and I will subscribe you. Membership
> on python-committers is mandatory as that's where we announce branch
> freezes, etc.

Would it be helpful if I was subscribed? I'm not strictly a committer,
but what with the Mercurial migration I imagine it won't be long
before the first cset bearing my name appears in the Python repository
(plus I just saw there was some discussion about the hg migration
there which I could weigh in on).

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] semi-regular check that all committers are subscribed to python-committers

2009-07-02 Thread Dirkjan Ochtman
On Thu, Jul 2, 2009 at 22:08, Brett Cannon wrote:
>  Maybe you should just get the commit privileges now. Any objections?

Not from me, obviously.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-02 Thread Dirkjan Ochtman
In response to some rumblings on python-committers and just to request
more feedback, a progress report. I know it's long, I've tried to put
to keep it concise and chunked, though.

- First of all, I've got the basic conversion down, I've done it a few
times now, with progressively better results. You can view some
results at http://hg.python.org/, which has a preliminary cpython
repository. *** The changeset hashes for that repo will change, so you
won't be able to commit or pull from it in the future.***

- Second of all, some planning. I've thought about it a bit, and I
think we should aim for going live with hg on August 1. Given that I'm
on vacation from 8-18 July (and I'm not sure whether I'll be able to
actually work on it during that time, though I imagine I'll be able to
spend some time on it at least), that's quite ambitious, so I'm going
to say it's okay if it slips by a few days. Putting a deadline out
there is a good thing, anyway.

- Third of all, to make this possible, it would be helpful if I got
more feedback on the PEP. Last time I raised it, there was virtually
nothing. This time, I'll include it inline so there's hopefully less
of a barrier to reviewing it.

- Fourth, Mercurial 1.3 was just released! Bet you didn't see that
coming. It's looking like a pretty good release, with an experimental
version of the much-coveted subrepository support (like
svn:externals). This also means that the latest version of
hgsubversion, the tool I used for the conversion, will be more
accessible for converting other projects. You know you want to!

- Fifth, here's a list of things, off the top of my head, that still need doing:

* Get agreement on branch strategy and branch processing (list of
branches + proposed handling at
http://hg.python.org/pymigr/file/tip/all-branches.txt) <--- PLEASE
REVIEW
* Get agreement on tag processing (first come up with a list)
* Set up hg-ssh infra (should be easy)
* Set up hooks (should be mostly straightforward)
* Set up roundup integration (should be made easier by quick revision
map hgweb extension)
* Write docs

- Sixth (this is the good part), less obvious things that have been
done or don't need doing:

* .hgignore generation (I've been convinced it's too hard, the current
version will do)
* revlog reordering (it's painless and a big win)

I'll get through all of these myself, but obviously any help would be
welcome. For any hg users, writing docs should be an easy start. For
others, please review the PEP (below), the branch map in
http://hg.python.org/pymigr/file/tip/all-branches.txt and the author
map at http://hg.python.org/pymigr/file/tip/author-map (not that much
has changed since the start, so if you've looked at it already, feel
free to skip this part). Right now I'm a little stuck on branch
processing, because it's a long running script that needs a bunch of
debugging, but I'll get going on that again.

I think that's all I can think of for now, I'll update the PEP with
new bits soon. Here it is, ready for your review:

==

Motivation

After having decided to switch to the Mercurial DVCS, the actual
migration still has to be performed. In the case of an important piece
of infrastructure like the version control system for a large,
distributed project like Python, this is a significant effort. This
PEP is an attempt to describe the steps that must be taken for further
discussion. It's somewhat similar to PEP 347 [1], which discussed the
migration to SVN.

To make the most of hg, I (Dirkjan) would like to make a high-fidelity
conversion, such that (a) as much of the svn metadata as possible is
retained, and (b) all metadata is converted to formats that are common
in Mercurial. This way, tools written for Mercurial can be optimally
used. In order to do this, I want to use the hgsubversion [2] software
to do an initial conversion. This hg extension is focused on providing
high-quality conversion from Subversion to Mercurial for use in
two-way correspondence, meaning it doesn't throw away as much
available metadata as other solutions.

Such a conversion also seems like a good time to reconsider the
contents of the repository and determine if some things are still
valuable. In this spirit, the following sections also propose
discarding some of the older metadata.
Timeline

TBD; needs fully working hgsubversion and consensus on this document.
Transition plan
Branch strategy

Mercurial has two basic ways of using branches: cloned branches, where
each branch is kept in a separate repository, and named branches,
where each revision keeps metadata to note on which branch it belongs.
The former makes it easier to distinguish branches, at the expense of
requiring more disk space on the client. The latter makes it a little
easier to switch between branches, but often has somewhat unintuitive
results for people (though this has been getting better in recent
versions of Mercurial).

I'm still a bit on the fence abo

Re: [Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-03 Thread Dirkjan Ochtman
On Fri, Jul 3, 2009 at 01:01, Mark Hammond wrote:
> Although this has come up in the past, I don't recall a resolution.
>
> What is your plan to handle svn:eol-style?  We have some files in the tree
> which need that support and it isn't clear to me how that would work with
> the existing win32text extension provided with current mercurial releases.
>  (I've an outstanding patch to hg which should address some of these issues,
> but without the 'rules' being versioned I fear that would still fall short.)

What files would need what? Are there any files that really need to be
\r\n on Windows and \n on Unix (and possibly \r on Mac)? I remember
one file was discussed separately, but I think the outcome there was
that it could just always be \r\n (since it wasn't used at all on
non-Windows platforms). Anyway, knowing specific requirements (or
where to find them) would help here.

> Even more generally, how will you suggest Windows users work?  Will local
> files, in general, have windows line endings or unix?  If the latter, will
> there be hooks in-place to prevent editors on Windows 'accidently' mixing
> eol styles?  If so, this cycles back to the first question - how would we
> know which files get treated that way?

There will be a server-side hook to check whitespace. People will also
be able to install it for commit-time.

I think just using \n by default everywhere is a good default (though
I almost always use Windows client machine, I do all nearly all of my
development through a terminal on several Linux boxen), except where
it isn't. People who want to use can set up the win32text stuff to get
\r\n on Windows if they feel they need that -- we can provide
information about that in the dev FAQ (although it would be nice if
someone else who was more familiar with it -- like yourself! -- would
write it).

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-03 Thread Dirkjan Ochtman
On Fri, Jul 3, 2009 at 15:31, Mark Hammond wrote:
> So we must work without effective EOL support?  I fear we will end up like
> the mozilla hg repo with some files in windows line endings and some with
> linux.  While my editing tools are good enough to preserve existing EOL
> styles, I've found myself accidentally checking in new \r\n terminated files
> in a repo which otherwise uses \n line endings.  IMO, SVN's EOL support was
> better than no EOL support.

This is why we'll have hooks -- to prevent you from pushing changesets
with inappropriate, to say the least, and, if you're willing to do a
little bit of extra work, to prevent you from committing them.

> This is exactly why I was asking for your advice - I can't work out how to
> work effectively with win32text as it stands myself, so remain stuck
> accidently checking in files with inappropriate line endings and stuck
> working out how to move pywin32's CVS repo with abandoning the very
> primitive EOL safety it offers...

As long as the difference between \r\n- and \n-based files is clear
and can be reasoned about, I don't see why having some of both (I'm
assuming an overwhelming majority will have one, and only a few the
other) is a big problem. But feel free to enlighten me!

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-03 Thread Dirkjan Ochtman
On Fri, Jul 3, 2009 at 15:29, Stephen J. Turnbull wrote:
> I'll have to try them again now that 1.3 is out, but I found Mercurial
> named branches fundamentally unsuited to release management.

Can you explain why, please? It's not clear from what you say below.

> Ditto named branches.  The problem is that (unless the internal
> implementation has changed very recently) a Mercurial revision can be
> on exactly one named branch (or on the trunk).

That's still true.

> Which defeats the purpose of having named branches, really.  (I mean
> the version control purpose; obviously it still can save disk space.)

Why does it defeat the purpose? What, in your opinion, is the purpose?

> Unless you're really short on space, though, that's not a big deal.
> What would be more important to me (not that I matter for the purpose
> of Python, but in XEmacs -- also a Mercurial shop -- I do :-) would be
> the other way around: pulling an external branch into a named branch.
> I have a feeling that working with such a repository with others would
> be a little difficult.

Can you give an example?

> Stick with the CPython notation.  At XEmacs, continuity of tags has
> made our beta testers happy.  (Well, the two of them who bothered to
> mention it, anyway. :-)

Right; Benjamin also mentioned that processing the tags just to be
consistent with the recent tagging scheme would probably be the best
solution.

> As others (MvL, I think) have commented, this isn't really relevant to
> Python which generally has four mainlines going at once.  I don't see
> why the requirements are going to change with the shift to hg, and I
> see no reason why hg won't handle the existing workflow just fine.

It will handle it, for sure, but I think it would all go easier if we
could work with stricter subset branches (and leave the effective
cherrypicking for the occasional problem).

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-03 Thread Dirkjan Ochtman
On Fri, Jul 3, 2009 at 23:41, Brett Cannon wrote:
> If we make it universal I say it should be '2.x' and '3.x'. The whole 'py'
> prefix is redundant.

Right, I was aiming for /python/2.x and /python/3.x as well.

Actually, I currently have /cpython to also make CPython less special
among it's peers, but that idea was met with some resistance on
#python-dev.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-04 Thread Dirkjan Ochtman
On Fri, Jul 3, 2009 at 20:04, Brett Cannon wrote:
> Fine by me as long as people realize that if anything is questionable then
> the switch will not happen. Getting this right takes precedence over any
> deadline. And obviously we will need to do at least one live conversion on
> python.org hardware to make sure everything will work smoothly.

I'm not sure I see the need to do a (live? what does that mean in this
context) on python.org hardware. Why exactly is that better than me
doing it on one of my boxes, as long as all the necessary tools and an
idea of how to do it are publically available (from the pymigr repo,
for example)?

> And will make the idea of splitting out the standard library and tests a
> reasonable thing to do.

In due time, yes.

> While I really like the idea of using named branches for each release so
> that there is a single py3k branch that contains all relevant history for
> every release, I think we should start simple and go with cloned branches.
> That way the workflow does not radically shift from what we do now for svn
> to start. Once the conversion is done and people are comfortable with hg we
> can then discuss moving towards a named branch approach.

I don't think the cloned branches is much simpler than the named
branches approach, in several ways. For example, populating the branch
part of a sys.whatever value is significantly harder. Also, if you
follow a useful tagging approach, doing cloned branches means that
release tags aren't available on trunk/main/default. That seems like a
step backwards.

> Sounds reasonable to me. We can just make a list and send it to
> python-committers to make final decisions of what should stick around.

This list exists and has been referenced in my email a few times.

> I don't use tags so I don't really care, but in the name of easy transition
> I say we don't change the naming scheme (although I have no issue dropping
> obscure tags).

The current proposal is to clean up old tags to agree with the current
naming scheme (and dropping obscure and partial tags).

> Something else that can go out to python-committers before the switch.

This should just be done ASAP, it helps with a smooth conversion process.

> I don't think there is a single project we host -- all two of them -- that
> have not said they want to convert. So I say convert everything and let's
> turn off the svn server by the end of the year.

I say we tackle each one as we go. I say doing a good conversion job
is valuable, and we should take as much time as we need (though not
more). You advocate something similar below for the Python conversion.

> Can we check these scripts into the repository itself? That way there is a
> chance of reuse as hg commands, e.g. ``hg pydev-ci`` as a replacement for
> ``make patchcheck``.

I'm not sure there's an easy way to make them into commands (although
I guess you could make an extension to that effect), but hooks would
be very easy.

> How about hg.python.org for the official branches and we keep
> code.python.org for personal branches of the developers like we have done
> with the bzr experiments?

I think that's just confusing. Most people seem to like hg.python.org,
and it's obvious that hg goes to hg.p.o. Dividing up the namespace
only makes it harder to find things.

> As I have said, we should change our workflow habits after the switch and
> people are comfortable with hg.

Well, not everyone agrees, and although I think it doesn't matter much
for the conversion itself, it may affect the branching strategy
discussion.

(sys.revision discussion elided because some others have already been
bikeshedding on it.)

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-04 Thread Dirkjan Ochtman
On Sat, Jul 4, 2009 at 07:13, Nick Coghlan wrote:
> I'd guess that the only way to keep those functional is to keep
> svn.python.org around in read-only mode.

No, actually: the idea (I think I floated it in the PEP, as well), is
that I can write a simple extension for hgweb that knows the mapping
of SVN rev to hg rev and so can make
hg.python.org/python/2.x/rev/r32542 come out to the changeset that
resulted from converting that revision.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-04 Thread Dirkjan Ochtman
On Fri, Jul 3, 2009 at 17:17, Georg Brandl wrote:
> Do you have a key to the second column in that file? E.g. the difference
> between "strip" and "discard" is not clear to me. "strip partial"?

strip == discard. strip = remove, merged should be obvious, keep-clone
means we'll keep the branch, in a separate clone, and keep-named means
we'll keep the branch as a named branch in one of the other clones.

> Why are there branch names starting with "../"?

Because some people in the history put their branch at
/python/branchname instead of /python/branches/branchname. That part
will get cleaned up.

[Regarding clone#branch syntax:]
> * Does it work with "hg pull" etc. too, afterwards?

Yes.

> * Does it support more than one branch?

You can only reference one branch at a time using the fragment specifier.

> I would just kill all feature branches unless someone indicates it is
> still used.  There are very few active feature branches.
>
> (I guess in the case a branch gets killed erroneously it could still be
> re-created after the conversion?)

Re-creating it after the conversion could be done, I guess, but I'd
prefer to get it right, the first time. As the branch map says, I'm
mostly removing all the feature branches anyway.

> As long as it can send diffs...

It can.

> That gets very ugly as soon as you start pulling from repos that just
> fix a small typo or so.

Okay, so we do no automatic checking. We can always write a script
that walks the repository and finds all significant contributors.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-04 Thread Dirkjan Ochtman
On Sat, Jul 4, 2009 at 00:09, "Martin v. Löwis" wrote:
> I would drop the roundup integration from the things that need to
> be done pre-migration - there currently is no svn integration, so
> not having it for hg is not a step backwards.

Yeah, I mean just the linking here.

> In the first sentence, you say that it can't actually work - so I
> think we should drop the test.

Okay.

> I would like to see this well before the switch also. It could be
> a patch (unified diff) stored in the tracker, or it could be an actual
> branch that then needs to get merged with all active branches (IIUC).

Yeah. Some help here would be welcome, too, as C is not a language I use often.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-04 Thread Dirkjan Ochtman
On Sat, Jul 4, 2009 at 00:37, Barry Warsaw wrote:
> Doesn't Mercurial support an Subversion bridge?  Would it be possible to
> provide a /read-only/ copy of the hg branches for 2.4 (maybe), 2.5, 2.6, and
> 3.1?  If so, then the release managers would simply have to cut their
> releases from the svn copy instead of the hg master.  /All/ other work would
> be done from the hg master.  This shouldn't be too much of a burden since
> it's done so rarely and would end with the EOL of each of those branches.

There is some push support in hgsubversion, but it doesn't do tags at
this time, for example. I think this setup would be needlessly
complicated (and tools will need to learn the new revision specifier
anyway, so why not have it learn them sooner rather than later)?

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-07 Thread Dirkjan Ochtman
On Tue, Jul 7, 2009 at 10:16, M.-A. Lemburg wrote:
> Is there a standard notation for hg revisions that roundup could
> detect and turn into links (much like it does for svn) ?

[a-f0-9]{12} should mostly do.

(Sorry for my absence from the discussion for some time. I'll try to
update the PEP and summarize ongoing discussions here soon.)

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: progress report (PEP 385)

2009-07-07 Thread Dirkjan Ochtman
On Tue, Jul 7, 2009 at 15:32, M.-A. Lemburg wrote:
> Hmm, no prefix or suffix ?

No, not really. hg often shows revision integers as well, but as they
aren't globally consistent, they're of little value in communicating
changeset pointers.

> So we'll always have to write "see deadbeefdeadbeefff for details"
> or "Reverting f00fl33df00fl33d00 after problems on Pentium CPUs" ?!

Yes. And it's really not that bad.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] 64-bit values in XML RPC: OverflowError: int exceeds XML-RPC limits

2009-07-15 Thread Dirkjan Ochtman
On Wed, Jul 15, 2009 at 16:42, Peter
Hanecak wrote:
> So my subsequent question is: What can help me solve the "writing" part?

The XML-RPC protocol, as specified at [1], doesn't support integers
with more than 32 bits (in fact, the i4 alias can be used to make the
use of 4 bytes explicit). So, either don't use XML-RPC, or encode it
in some other type (e.g. a string or base64).

Cheers,

Dirkjan

[1] http://www.xmlrpc.com/spec
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] PEP 385: updating the PEP

2009-08-03 Thread Dirkjan Ochtman
The diff below should reflect changes from the discussion we had last
time. Please review. (Some comments may be more appropriate for the
other threads I just kicked off.)

Cheers,

Dirkjan

Index: pep-0385.txt
===
--- pep-0385.txt(revision 74294)
+++ pep-0385.txt(revision 74296)
@@ -59,27 +59,25 @@
 often has somewhat unintuitive results for people (though this has been
 getting better in recent versions of Mercurial).

-I'm still a bit on the fence about whether Python should adopt cloned
-branches and named branches. Since it usually makes more sense to tag releases
-on the maintenance branch, for example, mainline history would not contain
-release tags if we used cloned branches. Also, Mercurial 1.2 and 1.3 have the
-necessary tools to make named branches less painful (because they can be
-properly closed and closed heads are no longer considered in relevant cases).
+The current proposal is to use named branches for release branches and adopt
+cloned branches for feature branches, with one exception to this rule: the 3.x
+branches will be kept in separate clones from the 2.x branches. I think this
+provides an optimal hybrid approach for Python's uses of branching.

-A disadvantage might be that the used clones will be a good bit larger (since
-they essentially contain all other branches as well). This can me mitigated by
-keeping non-release (feature) branches in separate clones. Also note that it's
-still possible to clone a single named branch from a combined clone, by
-specifying the branch as in hg clone http://hg.python.org/main/#2.6-maint.
-Keeping the py3k history in a separate clone problably also makes sense.
+Differences between named branches and cloned branches:

-XXX To do: size comparison for selected separation scenarios.
+* Tags in a different (maintenance) clone aren't available in the local clone
+* Clones with named branches will be larger, since they contain more data

+(The Mercurial book discourages the use of named branches, but it is, in this
+respect, somewhat outdated. Named branches have gotten much easier to use
+since that comment was written, due to improvements in hg.)
+
 Converting branches
 ---

 There are quite a lot of branches in SVN's branches directory. I propose to
-clean this up a bit, by employing the following the strategy:
+clean this up a bit, by following this basic strategy:

 * Keep all release (maintenance) branches
 * Discard branches that haven't been touched in 18 months, unless somone
@@ -87,6 +85,21 @@
 * Keep branches that have been touched in the last 18 months, unless someone
   indicates the branch can be deprecated

+There's a `branch map`_ available that shows info about each branch:
+
+* keep-clone means we'll keep that branch in a separate clone
+* keep-named means we'll keep that branch as a named branch in one of
the clones
+* strip means we won't keep that branch
+* streamed-merge means that it got merged by committing several new revisions
+  to the other branch
+* merged-r* means the branch got merged in the named revision
+* merges? means I haven't checked/found out yet whether that branch was ever
+  merged
+* ? means that your input would be even more helpful than for the other items
+* some items have no action yet, feel free to treat that as just '?'
+
+.. _branch map: http://hg.python.org/pymigr/file/tip/all-branches.txt
+
 Converting tags
 ---

@@ -95,8 +108,8 @@
 we should keep all release tags, and consider other tags for inclusion based
 on requests from the developer community. I'd like to consider unifying the
 release tag naming scheme to make some things more consistent, if people feel
-that won't create too many problems. For example, Mercurial itself just uses
-'1.2.1' as a tag, where CPython would currently use r121.
+that won't create too many problems. The current proposal is to bring old
+release tags in line with the current practice of release tag naming.

 Author map
 --
@@ -119,17 +132,19 @@
 possible forms of pattern matching. The current Python repository already
 includes a rudimentary .hgignore file to help with using the hg mirrors.

-It might be useful to have the .hgignore be generated automatically from
-svn:ignore properties. This would make sure all historic revisions also have
-useful ignore information (though one could argue ignoring isn't really
-relevant to just checking out an old revision).
+Since the current Python repository already includes a .hgignore file (for use
+with hg mirrors), we'll just use that. Generating full history of the file
+was debated but deemed impractical (because it's relatively hard with fairly
+little gain, since ignoring is less important for older revisions).

 Revlog reordering
 -

-As an optional optimization technique, we should consider trying a reordering
-pass on the revlogs (internal Mercurial files) resulting from the conversion.

[Python-Dev] PEP 385: the eol-type issue

2009-08-03 Thread Dirkjan Ochtman
So, I've been not-working on this, which I feel bad about. Suffice it
to say the day job has required more of my time then usual for the
past few weeks. I want to get back into it, so let's start by
re-raising this issue, which Mark Hammond conveniently summarized
below.

> On 4/07/2009 2:03 PM, Mark Hammond wrote:
>> On 4/07/2009 12:30 PM, Nick Coghlan wrote:
>>> And since Mercurial doesn't even allow us to say "this is a binary file"
>>> the way CVS used to I'm currently not seeing any way for that to happen
>>> except for win32text to be updated to correctly handle wild cards in
>>> combination with negative filters.
>>
>> I agree with your conclusion. My ruminating on this over the last few
>> months leaves me thinking this would involve:
>>
>> * my older 'accepted but then lost' hg patch to allow an explicit 'none'
>> rule for a single file to override wildcards.

This was and still is a good idea. It would be very nice if you could
un-bitrot it and submit it for inclusion into crew-stable (so that it
may land in the next release, which would hopefully be a somewhat near
1.3.2).

>> * win32text be enhanced to use a normal versioned file in the root of
>> the repo, much like hgingore, where a project can maintain project wide
>> rules.

I'm thinking that it should take stuff from .hgeols or whatever and
apply rules from .hg/hgrc after that, so both may be used (and for
backwards compatibility), but it sounds like a good idea in principle.

>> * win32text be enhanced such that all python developers, regardless of
>> platform, are willing to use this extension, even if the majority of
>> files happen to use their native line ending (sauce for the goose is
>> sauce for the gander, and all that...)

I don't think that is necessary, I will elaborate below.

>> * commit hooks be implemented to enforce this - but this should not be
>> necessary if the above was implemented and socially enforced.

You seem to advocate a two-step approach: enforce line endings through
win32text, catch any errors that slipped through in a hook (commit
hook is an optional first line of defense, changegroup hooks on the
server to protect the rest of the world).

I think inverting that approach would be better: have strict hooks on
the server to prevent people from pushing inappropriate EOLs, and
provide help on configuring win32text as an extra help for developers
on Windows who use editors that work better with \r\n. That leaves
people to pick their own weapon of choice against propagation of \r\n
(e.g. better editor, commit hooks, whatever) while still making sure
no inappropriate line endings land in the python.org repositories. It
also seems to fit well with the whole consenting adults thing (but
that might just be me).

On Sun, Jul 19, 2009 at 15:27, Mark Hammond wrote:
> Sorry Dirkjan - I just noticed I didn't CC you on this mail originally.  I'm
> wondering if you have any more thoughts on these EOL issues and if there is
> anything I can do to help?

Taking up the 'none' filter, first, and .hgeols, secondly, in the
win32text extension would be wonderfully helpful, since I don't do
much development on Windows and am therefore not that familiar with
the extension in the first place.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] PEP 385: pruning/reorganizing branches

2009-08-03 Thread Dirkjan Ochtman
So PEP 385 proposes to clean up the old branches we still have lying
around in SVN.

This list of branch: action items is what I've come up with to do this
cleanup. Legend first:

- keep-clone means we'll keep that branch in a separate clone
- keep-named means we'll keep that branch as a named branch in one of the clones
- strip means we won't keep that branch
- streamed-merge means that it got merged by committing several new
revisions to the other branch
- merged-r* means the branch got merged in the named revision
- merges? means I haven't checked/found out yet whether that branch
was ever merged
- ? means that your input would be even more helpful than for the other items
- some items have no action yet, feel free to treat that as just '?'

The actual List:

py3k: keep-clone
default: keep-clone
tk_and_idle_maintenance: keep-clone
release26-maint: keep-named
release30-maint: keep-named
pep-0383: keep-clone
py3k-short-float-repr: strip streamed-merge
multiprocessing-autoconf: keep-clone?
release25-maint: keep-named
io-c: keep-clone?
py3k-issue1717: keep-clone
tlee-ast-optimize: keep-clone
release24-maint: keep-named
empty: keep-clone?
py3k-urllib: keep-clone
tnelson-trunk-bsddb-47-upgrade: strip
benjaminp-testing: strip
py3k-importlib: keep-clone
release23-maint: keep-named
py3k-importhook: keep-clone
ctypes-branch: strip
decimal-branch: merged-r58143
bcannon-objcap: keep-clone?
p3yk_no_args_on_exc: strip
amk-mailbox: keep-clone?
twouters-dictviews-backport: keep-clone?
bcannon-sandboxing: keep-clone?
release22-maint: keep-named
theller_modulefinder: strip
hoxworth-stdlib_logging-soc: strip partial
tim-exc_sanity: merged-r46426
IDLE-syntax-branch: merged-r41480 strip-later
ast-objects: strip
ast-arena: merged-r41739
jim-doctest: strip
ast-branch: merged-r39758
release23-branch: merges?
jim-modulator: strip
release21-maint: keep-named
indexing-cleanup-branch: strip
r23c1-branch: merged-r33637
r23b2-branch: merges?
anthony-parser-branch: merged-r35460
r23b1-branch: merged-r32490
idlefork-merge-branch: strip
getargs_mask_mods: strip
cache-attr-branch: strip
folding-reimpl-branch: strip streamed-merge
r23a2-branch: merges?
bsddb-bsddb3-schizo-branch: merged-r31008
r23a1-branch: merged-r30482
py-cvs-vendor-branch: strip
DS_RPC_BRANCH: strip streamed-merge
SourceForge: strip
release22-branch: merged-r24921
r22rc1-branch: strip
r22b2-branch: merges? merged-r24426
r22b1-branch: merges?
r22a4-branch: merges?
r22a3-branch: merges?
r22a2-branch: merged-r22674
descr-branch: merged-r22139
release20-maint: keep-named
gen-branch: merged-r21181
iter-branch: merged-r20492
r161-branch: merges?
cnri-16-start: strip
universal-33: merges?
None: strip
avendor: strip
Distutils_0_1_3-branch: strip partial
release152p1-patches: merges?
string_methods: merged-r13927
PYIDE: strip
OSAM: strip
PYTHONSCRIPT: strip
BBPY: strip
jar: merges?
alpha100: strip streamed-merge
unlabeled-2.36.4: strip partial
unlabeled-2.1.4: strip partial
unlabeled-2.25.4: strip partial
fix-test-ftplib: merged-r66673
trunk-math:
py3k-grandrenaming:
okkoto-sizeof
py3k-ctypes-pep3118: merged-r62597
trunk-bytearray: merged-r61936
libffi3-branch: merged-r61234
alex-py3k: strip
cpy_merge: strip
py3k-pep3137: merged-r5
../ctypes-branch: strip
pep302_phase2: strip
py3k-buffer: merged-r57181
p3yk-noslice
py3k-struni
p3yk: rename
int_unification
unlabeled-1.1.1: strip
unlabeled-1.5.4: strip
unlabeled-1.1.2: strip
unlabeled-2.9.2: strip
unlabeled-2.9.4: strip
unlabeled-1.5.2: strip
unlabeled-2.1.2: strip
unlabeled-2.36.2: strip
unlabeled-2.108.2: strip
unlabeled-2.10.2: strip
unlabeled-2.54.2: strip
unlabeled-1.3.2: strip
unlabeled-1.23.4: strip
unlabeled-2.25.2: strip
unlabeled-1.2.2: strip
unlabeled-1.98.2: strip
unlabeled-2.16.2: strip
unlabeled-2.3.2: strip
unlabeled-1.9.2: strip
unlabeled-1.8.2: strip
aimacintyre-sf1454481: merged-r46919
tim-current_frames: merged-r50541
bippolito-newstruct: merges?
runar-longslice-branch: strip
steve-notracing: strip
rjones-funccall: merged-r46096
sreifschneider-newnewexcept: merged-r46456
tim-doctest-branch: merged-r36839
blais-bytebuf: strip
../bippolito-newstruct: rename
rjones-prealloc: strip
sreifschneider-64ints: strip
stdlib-cleanup: strip
ssize_t: merged-r42382
sqlite-integration: merged-r43514
tim-obmalloc: merged-r43059

Further actions:

- implement branch map support in hgsubversion to be able to do
named/unnamed/no branch on a branch-by-branch basis
- implement splice map support in hgsubversion to be able to convert
given merges to hg-native merge data

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 385: pruning/reorganizing branches

2009-08-03 Thread Dirkjan Ochtman
On Tue, Aug 4, 2009 at 08:06, "Martin v. Löwis" wrote:
> I use that as a branch to tell build slaves to clean out their
> current checkouts. So keep-clone sounds right, assuming it is possible
> to target buildslaves at either clones or branches (which, IIUC, would
> be necessary anyway, since we are using a mix of branches and clones).

Yes, that should be straightforward.

>> amk-mailbox: keep-clone?
>> twouters-dictviews-backport: keep-clone?
>> bcannon-sandboxing: keep-clone?
>> bippolito-newstruct: merges?
>
> You'll probably need to explicitly ping the specific owners
> (Andrew Kuchling, Thomas Wouters, Brett Cannon, Bob Ippolito)
> to understand the fate of these branches.

Will do.

> This also raises the question how developers should publish their
> "own" branches. For the bzr setup, there was apparently a proposal
> to use directories for that, i.e. giving each developer a directory
> on code.python.org to publish branches.

User repositories has apparently worked well for Mozilla, so yeah,
it's worth discussing.

> Not doing that, but keeping owner information encoded in the clone
> name, would be fine as well.
>
>> release23-branch: merges?
>> r23b2-branch: merges?
>> r22rc1-branch: strip
>> r22b1-branch: merges?
>> r22a4-branch: merges?
>> r22a3-branch: merges?
>> r161-branch: merges?
>
> It seems we had been creating CVS branches for every release around
> that time; I don't remember the details. Each such branch should end
> up in a tag. For example, release23-branch should (and does) ultimately
> lead to tags/r23. cvs2svn wasn't able to recognize this correctly (as
> CVS branches apply to each file individually), so it created the r23
> tag out of various copies that were current when the tag was made.
>
> I don't know what your plan is wrt. release tags, i.e. whether you
> want to keep them all. If you are stripping out some of the branches,
> but plan to keep the release tags, I wonder what the tags look like.

The plan was to keep all maintenance branches and all release tags but
not all release branches (since they seem to contain few commits
anyway).

>> release22-branch: merged-r24921
>
> Not really. Jack Jansen merged some changes that got first applied
> to the 2.2
>
>> r22b2-branch: merges? merged-r24426
>> r22b2-branch: merges? merged-r24426
>
>> release20-maint: keep-named
>
> See above. So you do plan to keep all past releases?
>
>> release152p1-patches: merges?
>
> Probably merged. I don't recall whether 1.5.2p1 really happened;
> in r14966, Fred claims that he merged all changes from 1.5.2p2 (!).
>
> "Hopefully I got all this right!"
>
> I surely hope the same - I doubt anybody would go back and check
> whether anything is missing.

Thanks for the thorough review,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 385: the eol-type issue

2009-08-05 Thread Dirkjan Ochtman
On Wed, Aug 5, 2009 at 01:43, Mark Hammond wrote:
> Thanks Nick; I didn't want to be the only one saying that.  There is a fine
> line between asserting reasonable requirements for Windows users and being
> obstructionist and unhelpful, and I'm trying to stay on the former side :)

I'm not trying to be obstructionist and unhelpful (I hope that should
be obvious). On the other hand, I'm working from the point of view of
hg, which has two assumptions:

- we're a distributed system, there's fairly little we can assume about clients
- we exchange checksummed byte streams (even if we have some tools
that assume those streams are code)
- because of the previous point, there's one native (and therefore
better, in a sense) serialization of what you consider "structured"
data

The first point means, for example, there will always be some clients
who don't have win32text enabled, no matter what, so you can't rely on
it, which is why I want to make the server hooks the primary line of
defense, and view the client-side tools as helper tools (to make it
easy not to trigger the server-side hooks). That doesn't mean I think
Windows users are second-rate, or anything like that!

> I'm not that happy with the server being the primary line of defense. Let's
> say I make a branch of the hg repo, myself and a few others work on it
> committing as we go, then attempt to merge back upstream.  Let's say some of
> the early commits on that clone introduced "bad" line endings.  I'm guessing
> I would be forced to make a number of whitespace-only checkins to normalize
> the line-endings before it could merge - and these checkins would then be in
> the history forever.  Or I could attempt to recreate the clone by somehow
> "replaying" the commits with line endings corrected.  Either way, the
> situation doesn't seem good.

I don't think either is bad. In the first case, you have one or maybe
two extra changesets. As we like to advocate small changesets that fix
one thing, a changeset fixing up whitespace is par for the course. ;)
The other solution would be to employ mq, for example, to fix up the
commits, which mq excels at (although admittedly it has a learning
curve).

> I agree.  It isn't fair to make this windows users problem.  It would be
> like me proposing the repo get imported with \r\n line endings, enforce that
> with server side hooks, and let non-Windows users worry about the
> ramifications of that - somehow I doubt that would fly - so neither should
> it fly for Windows users...
>
> I'm more than willing to help on this; I haven't resurrected my stale patch
> because I find win32text only 1/2 a solution that doesn't work in practice.
>  Therefore that patch is as stale for me as it is anyone. However, if a plan
> is put in place which offers a full solution and the hg developers are
> committed to it, I promise I'll put my hand up to help with implementation
> in a fairly timely manner...

Well, I'd be happy to help convince the hg crew to accept whatever we
come up with, but I'm not sure I'm the best person to come up with it.
It sounds like a versioned .hgeols would help a bunch of issues, but I
have the feeling you know that better than me, so I'm hoping you can
come up with a concrete proposal on what should change in win32text to
fix all the problems you see.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 385: the eol-type issue

2009-08-05 Thread Dirkjan Ochtman
On Wed, Aug 5, 2009 at 10:51, "Martin v. Löwis" wrote:
> Not as Mercurial, no. As Python, we can certainly expect that all of our
> contributors have read the developer FAQ, and set up their systems
> accordingly. If all else fails, we can revoke commit access (or is
> it "push access"?) if some committer doesn't get the configuration
> right. We would, of course, prefer if it was very easy to get the
> configuration right, so that problems don't occur in the first place.

There will also be non-committers who forge changesets that you want
to be able to push directly to the Python repositories.

> If the client machines were the primary line of defense, Windows users
> were treated equally: they would make as few mistakes as Unix users,
> because the hooks do what they want correctly.

Similarly, if Python kept its .py files in \r\n line endings by
default instead of \n endings, Unix-like users would be more prone to
mistake, so by keeping the .py files in \n-format, so Python is making
Windows users second-rate by keeping the line endings in \n format. To
cope with that, hg needs to do extra work on the client side.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 385: the eol-type issue

2009-08-05 Thread Dirkjan Ochtman
On Wed, Aug 5, 2009 at 11:02, Mark Hammond wrote:
> In general I agree - although I think we can enforce a "social contract"
> which puts requirements on people who commit to the Python repository - and
> therefore we can consider the server-side hooks a "secondary" defense.  IOW,
> the system (including the social aspects of the system) are setup such that
> the server-side hooks are very rarely called upon.

Agreed.

> With all due respect, I suspect that is because you don't expect to see the
> issue regularly.

I suspect so, too!

> I'm yet to work on a hg repository without mixed line endings.  If I
> understand correctly, every such repository would have involved a developer
> checking in locally, than at some point in the future pushing these changes
> upstream.  I really really don't want hg to tell me at this final step that
> I need to perform whitespace only fixes purely because I am running Windows.
>
> I understand we are discussing how win32text can offer that - but I must
> object to your assertion that the situation I described isn't bad when you
> hit it.

I agree it is to be avoided, I'm just saying that I think it will be
exceptional and therefore not a large burden, given other kinds of
defenses we can put in place.

> Actually, I think it is easy to make this problem much easier to understand;
> mandate every platform should use win32text, then start collating the issues
> people, including yourself, will no doubt face. I'm happy to get this ball
> rolling, but again, don't want this left purely in the domain of "it is a
> windows problem" - it isn't.

I'm not sure how win32text will provide anything other than
performance degradation for non-Windows developers, but if there's
functionality to be had, I'm happy to mandate its use on every
platform.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 385: the eol-type issue

2009-08-05 Thread Dirkjan Ochtman
On Wed, Aug 5, 2009 at 12:04, Paul Moore wrote:
> Given that my preference is to use Unix-style EOL for "text" files on
> Windows, as every text editor I use (barring notepad!) understands LF
> format, it seems to me that this proposal also means that the hook
> would be optional for me. That suits me fine - I'd prefer to avoid
> having hooks that are required for Python checkouts, as that means I
> have to remember to configure them on each clone (IIUC).

Yeah, this may also be what's making it harder for me to understand
the issues. I am actually a Windows user, although I do most of my
development on Linux servers through PuTTY. I just always make sure I
use editors that respect the file's line endings, and so for those
things where I've used hg to version code on Windows (for example,
when testing a Firefox extension) and when my colleague who does edit
his code inside Windows, I've just used editors that deal with line
endings. Typically, in my case, that was either Notepad2 (an awesomely
light-weight Notepad replacement) or Komodo (Edit). That solved all of
my issues, so I haven't had a need for win32text so far.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 385: the eol-type issue

2009-08-05 Thread Dirkjan Ochtman
On Wed, Aug 5, 2009 at 13:19, Mark Hammond wrote:
> Configuring on each clone would certainly be sub-optimal, so the proposal is
> this configuration be stored in a versioned file in the repo.

Even if we do that, enabling hg extensions will still need to be done
locally -- although it can be done per-user/box instead of per-clone.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 385: the eol-type issue

2009-08-05 Thread Dirkjan Ochtman
On Wed, Aug 5, 2009 at 15:35, MRAB wrote:
> Instead of just talking about line endings, could each file have a
> specific 'filetype'? This would define what kind of data it contains,
> how it's stored in the repository, and what actions to perform for
> fetching and committing, including any checks:

Sounds like YAGNI to me. The outline Nick provided seems to me to be
quite close to the current win32text settings in syntax and purpose
and staying close to that would help making adoption easier.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 385: Mercurial issues

2009-08-05 Thread Dirkjan Ochtman
On Wed, Aug 5, 2009 at 15:57, Oleg Broytmann wrote:
>   Dirkjan, how does Mercurial handles charsets? If I have three files in
> my repository - one in utf-8, another in koi8-r, and the third in cp1251
> encoding - I certainly don't want to convert them back and force, but I
> want hg web interface to provide charset in the Content-Type header.

It doesn't currently have any way to provide out-of-band charset info.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] PEP 385: Mercurial issues

2009-08-05 Thread Dirkjan Ochtman
On Wed, Aug 5, 2009 at 16:35, Oleg Broytmann wrote:
>   Perhaps that's not a big issue for Python, but it's certainly a big
> issue for me.

I think there are extensions that try to deal with it. Have a look:

http://mercurial.selenic.com/wiki/UsingExtensions

If not, it should be easy to come up with something and write an
extension for it.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] www/svn python.org status update

2009-08-08 Thread Dirkjan Ochtman
On Sat, Aug 8, 2009 at 22:22, A.M. Kuchling wrote:
> svn.python.org was deliberately not brought up again.  The backups
> were a few hours behind and missing the ~10 most recent commits.  Not
> disastrous, but it could probably mess up people's SVN trees, so after
> some IRC discussion, the decision was to wait until the original disks
> are available again.  That will probably not occur until Monday, maybe
> Tuesday.

What's the last revision supposed to be? I keep a somewhat regularly
updated full sync of the Python repo.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: help needed

2009-08-18 Thread Dirkjan Ochtman
On Tue, Aug 18, 2009 at 10:12, "Martin v. Löwis" wrote:
> In this thread, I'd like to collect things that ought to be done
> but where Dirkjan has indicated that he would prefer if somebody else
> did it.

I think the most important item here is currently the win32text stuff.
Mark Hammond said he would work on this; Mark, when do you have time
for this? Then I could set apart some time for it as well.

Have stalled a bit on the fine-grained branch processing, hope to move
that forward tomorrow.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: help needed

2009-08-18 Thread Dirkjan Ochtman
On Tue, Aug 18, 2009 at 13:32, Mark Hammond wrote:
> I can make time, somewhat spasmodically, starting fairly soon.  Might I
> suggest that as a first task I can resurrect my old stale patch, and you can
> arrange to install win32text locally and start experimenting with how mixed
> line-endings can work for you.  Once we are all playing in the same ballpark
> I think we should be able to make good progress.

Sounds good to me.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: help needed

2009-08-18 Thread Dirkjan Ochtman
On Tue, Aug 18, 2009 at 21:46, Brett Cannon wrote:
> Can we possibly get these todo items in the PEP? I keep looking at the
> PEP out of habit to see what the blockers are and they are not there,
> at which point I have to dig up Martin's email.

Will do.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] Mercurial migration: help needed

2009-08-21 Thread Dirkjan Ochtman
On Fri, Aug 21, 2009 at 09:16, Mark Hammond wrote:
> I'm resurrecting my patch to support a filter called 'none' (which is
> turning out to be harder than I thought).  Off the top of my head, it would
> the following would give us a pretty solid solution:
>
> * Finish my patch for 'none' as a filter, so '**=cleverencode' can be
> reasonably used (currently you can't specify specific files *not* have
> cleverencode, making it unsuitable in practice without the concept of
> 'none')
>
> * Add support for versioned 'filter rules' - eg, /.hgfilters or similar.
>
> * This might be pushing my luck, but: add 'defensive' support to core hg for
> this feature - if /.hgfilters exists, hg should refuse to operate on the
> working tree unless the win32text extension is enabled.

Sounds great to me. The latter might indeed be hard to get into the
core, but seems like a good idea to try.

Cheers,

Dirkjan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


  1   2   3   >