Is there any project whose patches are all available?

Z

ZelluX

Hi, all

I want to write a version-tracking tool for Python projects, and need
some sample projects whose even smallest modifications can be
downloaded from the internet.

Could you recommend some to me?
Thanks for your reply
 
Z

ZelluX

Not to dissuade you, but what do you hope to achieve by this?
Version-control systems are difficult to do well, and we are blessed
with an abundance of them already.

--
 \                   “Holy astringent plum-like fruit, Batman!” —Robin |
  `\                                                                   |
_o__)                                                                  |
Ben Finney

For example, by comparing two versions of a program, may be we can
generate some scripts to direct the virtual machine update a running
python program.
 
S

Stefan Behnel

ZelluX said:
For example, by comparing two versions of a program, may be we can
generate some scripts to direct the virtual machine update a running
python program.

I had to read this sentence a couple of times, as it sounds too much like
StarTrek speak.

My guess is that you are talking about two completely unrelated things:
reloading code into the Python interpreter, and keeping track of changes in
the development of code.

I think what you have in mind is that smaller changes make code reload
easier than bigger changes, especially API changes.

Stefan
 
S

Stefan Behnel

Stefan said:
I think what you have in mind is that smaller changes make code reload
easier than bigger changes, especially API changes.

.... or ABI changes in the general case, although that's not a major
difference in the Python context.

Stefan
 
D

Diez B. Roggisch

ZelluX said:
Hi, all

I want to write a version-tracking tool for Python projects, and need
some sample projects whose even smallest modifications can be
downloaded from the internet.

Could you recommend some to me?

Well, most of them have ... TADA ... Versioncontrol systems they use.
Which makes ti possible to fetch all the different revisions as single
patches. So write yourself a script that exctracts these from e.g. a SVN
repo, and you are done.

If that serves your cause though, I'm not so sure.


Diez
 
S

skip

zellux> I want to write a version-tracking tool for Python projects, and
zellux> need some sample projects whose even smallest modifications can
zellux> be downloaded from the internet.

Sure. Python itself. Do a checkout of the code from Subversion then for
any given file just ask Subversion for a diff between it and the previous
version. For example:

% pwd
/Users/skip/src/python/trunk
% svn info Lib/os.py
Path: Lib/os.py
Name: os.py
URL: svn+ssh://[email protected]/python/trunk/Lib/os.py
Repository Root: svn+ssh://[email protected]
Repository UUID: 6015fed2-1504-0410-9fe1-9d1591cc4771
Revision: 67276
...
% svn log Lib/os.py
------------------------------------------------------------------------
r66142 | gregory.p.smith | 2008-09-02 00:36:11 -0500 (Tue, 02 Sep 2008) | 3 lines

Issue #3708: os.urandom no longer goes into an infinite loop when passed a
non-integer floating point number.

------------------------------------------------------------------------
r65795 | brett.cannon | 2008-08-17 19:46:22 -0500 (Sun, 17 Aug 2008) | 3 lines

Update __all__ for cookielib, csv, os, and urllib2 for objects imported into
the module but exposed as part of the API.

------------------------------------------------------------------------
r63493 | georg.brandl | 2008-05-20 02:49:57 -0500 (Tue, 20 May 2008) | 2 lines

Revert copy_reg -> copyreg rename.

------------------------------------------------------------------------
r63158 | ronald.oussoren | 2008-05-12 06:24:33 -0500 (Mon, 12 May 2008) | 5 lines

Remove references to platform 'mac'

The 'mac' platform (that is, os.name == 'mac') was used for the MacOS 9 port,
which is no longer supported (as of Python 2.4 IIRC).
...
% svn diff -r66142:65795 Lib/os.py
Index: Lib/os.py
===================================================================
--- Lib/os.py (revision 66142)
+++ Lib/os.py (revision 65795)
@@ -753,10 +753,8 @@
_urandomfd = open("/dev/urandom", O_RDONLY)
except (OSError, IOError):
raise NotImplementedError("/dev/urandom (or equivalent) not found")
- try:
- bs = b""
- while n - len(bs) >= 1:
- bs += read(_urandomfd, n - len(bs))
- finally:
- close(_urandomfd)
- return bs
+ bytes = ""
+ while len(bytes) < n:
+ bytes += read(_urandomfd, n - len(bytes))
+ close(_urandomfd)
+ return bytes
% svn diff -r65795:63493 Lib/os.py
Index: Lib/os.py
===================================================================
--- Lib/os.py (revision 65795)
+++ Lib/os.py (revision 63493)
@@ -28,7 +28,7 @@
_names = sys.builtin_module_names

# Note: more names are added to __all__ later.
-__all__ = ["altsep", "curdir", "pardir", "sep", "extsep", "pathsep", "linesep",
+__all__ = ["altsep", "curdir", "pardir", "sep", "pathsep", "linesep",
"defpath", "name", "path", "devnull",
"SEEK_SET", "SEEK_CUR", "SEEK_END"]

And so on. In general, any open source project should be available in this
fashion. The details for fetching diffs will depend on the specific source
code control system being used.
 
Z

ZelluX

That's exactly what i want, thanks for all your replies
    zellux> I want to write a version-tracking tool for Python projects, and
    zellux> need some sample projects whose even smallest modifications can
    zellux> be downloaded from the internet.

Sure.  Python itself.  Do a checkout of the code from Subversion then for
any given file just ask Subversion for a diff between it and the previous
version.  For example:

    % pwd
    /Users/skip/src/python/trunk
    % svn info Lib/os.py
    Path: Lib/os.py
    Name: os.py
    URL: svn+ssh://[email protected]/python/trunk/Lib/os.py
    Repository Root: svn+ssh://[email protected]
    Repository UUID: 6015fed2-1504-0410-9fe1-9d1591cc4771
    Revision: 67276
    ...
    % svn log Lib/os.py
    ------------------------------------------------------------------------
    r66142 | gregory.p.smith | 2008-09-02 00:36:11 -0500 (Tue, 02 Sep 2008) | 3 lines

    Issue #3708: os.urandom no longer goes into an infinite loop when passed a
    non-integer floating point number.

    ------------------------------------------------------------------------
    r65795 | brett.cannon | 2008-08-17 19:46:22 -0500 (Sun, 17 Aug 2008) | 3 lines

    Update __all__ for cookielib, csv, os, and urllib2 for objects imported into
    the module but exposed as part of the API.

    ------------------------------------------------------------------------
    r63493 | georg.brandl | 2008-05-20 02:49:57 -0500 (Tue, 20 May 2008) | 2 lines

    Revert copy_reg -> copyreg rename.

    ------------------------------------------------------------------------
    r63158 | ronald.oussoren | 2008-05-12 06:24:33 -0500 (Mon, 12 May 2008) | 5 lines

    Remove references to platform 'mac'

    The 'mac' platform (that is, os.name == 'mac') was used for the MacOS 9 port,
    which is no longer supported (as of Python 2.4 IIRC).
    ...
    % svn diff -r66142:65795 Lib/os.py
    Index: Lib/os.py
    ===================================================================
    --- Lib/os.py       (revision 66142)
    +++ Lib/os.py       (revision 65795)
    @@ -753,10 +753,8 @@
                 _urandomfd = open("/dev/urandom", O_RDONLY)
             except (OSError, IOError):
                 raise NotImplementedError("/dev/urandom (or equivalent) not found")
    -        try:
    -            bs = b""
    -            while n - len(bs) >= 1:
    -                bs += read(_urandomfd, n - len(bs))
    -        finally:
    -            close(_urandomfd)
    -        return bs
    +        bytes = ""
    +        while len(bytes) < n:
    +            bytes += read(_urandomfd, n - len(bytes))
    +        close(_urandomfd)
    +        return bytes
    % svn diff -r65795:63493 Lib/os.py
    Index: Lib/os.py
    ===================================================================
    --- Lib/os.py       (revision 65795)
    +++ Lib/os.py       (revision 63493)
    @@ -28,7 +28,7 @@
     _names = sys.builtin_module_names

     # Note:  more names are added to __all__ later.
    -__all__ = ["altsep", "curdir", "pardir", "sep", "extsep", "pathsep", "linesep",
    +__all__ = ["altsep", "curdir", "pardir", "sep", "pathsep", "linesep",
                "defpath", "name", "path", "devnull",
                "SEEK_SET", "SEEK_CUR", "SEEK_END"]

And so on.  In general, any open source project should be available in this
fashion.  The details for fetching diffs will depend on the specific source
code control system being used.
 
L

Lie

Hi, all

I want to write a version-tracking tool for Python projects, and need
some sample projects whose even smallest modifications can be
downloaded from the internet.

Could you recommend some to me?
Thanks for your reply

When the project matures, why not have the project itself hosted on
the version tracking tool?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top