[patch] datetime_overview.txt

I don't know how the doc-system work. That is why I didn't submit a
official patch for that. I just want to add this section into the "Date
and Time Overview" (datetime_overview.txt) Documentation page.

It is a good start to learn how this works.

How does the doc-build-system work? I should try out my modifications
before submitting them as patches.

btw: For the future how would you
prefer patches? diffs, complete files, ...?

I don't know how the doc-system work. That is why I didn't submit a
official patch for that. I just want to add this section into the "Date
and Time Overview" (datetime_overview.txt) Documentation page.

It is a good start to learn how this works.

How does the doc-build-system work? I should try out my modifications
before submitting them as patches.

You need Sphinx for that and you should review the following.
http://wxpython.org/Phoenix/docs/html/DocstringsGuidelines.html
and maybe this:
http://wiki.wxpython.org/ProjectPhoenix/DevelopmentProcess

To build the 'wx.lib' doc you do:

- cd to where you have Phoenix installed, e.g.
d:
cd \devtools\phoenix

- remove in phoenix\doc\sphinx the file:
  wxlib.pkl

- run
c:\python27\python.exe build.py wxlib sphinx

btw: For the future how would you
prefer patches? diffs, complete files, ...?

Do a clone of:

Then submit a Pull Request (PR) against this.

Werner

···

On 2/18/2015 0:33, moonkid@posteo.org wrote:

[bash]
Klone nach 'master'...
fatal: repository 'Commits · RobinD42/Phoenix · GitHub
not found
[/bash]

I am using git localy and have used CVS and SVN in the past.
But git still confuses me. The github website is for alians, too. :wink:

There is no code in that path you gave me.

Did you mean something like that?

[bash]
git clone GitHub - RobinD42/Phoenix: wxPython's Project Phoenix. A new implementation of wxPython, better, stronger, faster than he was before.
cd Phoenix
(modify something on the local repository)
git pull GitHub - RobinD42/Phoenix: wxPython's Project Phoenix. A new implementation of wxPython, better, stronger, faster than he was before.
[/bash]

Thats all?

And I can check the result on the github webpage here
<History for &gt; - RobinD42/Phoenix · GitHub?

···

On 2015-02-18 08:57 Werner <wernerfbd@gmx.ch> wrote:

Do a clone of:
Commits · RobinD42/Phoenix · GitHub

Then submit a Pull Request (PR) against this.

Hi,

Do a clone of:
Commits · RobinD42/Phoenix · GitHub

Then submit a Pull Request (PR) against this.

[bash]
Klone nach 'master'...
fatal: repository 'Commits · RobinD42/Phoenix · GitHub
not found
[/bash]

Oops, that is the 'commits' page of the repo.

I am using git localy and have used CVS and SVN in the past.
But git still confuses me. The github website is for alians, too. :wink:

There is no code in that path you gave me.

Did you mean something like that?

[bash]
git clone GitHub - RobinD42/Phoenix: wxPython's Project Phoenix. A new implementation of wxPython, better, stronger, faster than he was before.
cd Phoenix
(modify something on the local repository)
git pull GitHub - RobinD42/Phoenix: wxPython's Project Phoenix. A new implementation of wxPython, better, stronger, faster than he was before.
[/bash]

that would be 'push', but see below.

Thats all?

And I can check the result on the github webpage here
<History for &gt; - RobinD42/Phoenix · GitHub?

You can not 'push' to that repo as we don't have commit rights.

So you want to (very short):
- create a github account
- fork this git@github.com:RobinD42/Phoenix.git to your account
- clone from your account (to get it to your PC)
- create a branch of the 'master' branch
- make changes for PR 1
- push to 'origin'
- create Pull Request 1
- create another branch of the 'master' branch
- make change for PR 2
- push to 'origin'
- create Pull Request 2

After Robin has done commits you need to:
- pull from 'upstream'
- rebase your 'master' branch from the 'upstream' master branch

Above is very cryptic, and confused and sometimes still confuses me. Should really create a wiki page with more detailed instructions and/or links to good tutorials.

e.g. as a start:

Werner

···

On 2/24/2015 13:00, moonkid@posteo.org wrote:

On 2015-02-18 08:57 Werner <wernerfbd@gmx.ch> wrote:

I have git local on my machine!
In my understandings git is more simpler and easier to use than
CVS and SVN.

So I don't understand why do I have such a complex task just to submit
a patch? To much work for such simple task. I a little bit shocked
about that.

Why a fork?
What is 'origin'?
2 pull requests for one patch?
...?

I would wonder if git doesn't offer a simpler way. And I don't want to
click around on any git-portal. That is not how Mr. Torvalds thougt
about using git. It should make the dev process simpler to focus on
the real important things.

I would offer diff- or patch-files against the original repository like
I done in the past with CVS/SVN reps.

This wall is to high to make participation of "little devs" possible.
That is not what a open project should be.

···

On 2015-02-24 13:34 Werner <wernerfbd@gmx.ch> wrote:

- create a github account
- fork...

Hi,

- create a github account
- fork...

I have git local on my machine!
In my understandings git is more simpler and easier to use than
CVS and SVN.

It is especially when you have to do 'merge' and friends.

I'll try to start a wiki page, so just short answers below.

So I don't understand why do I have such a complex task just to submit
a patch? To much work for such simple task. I a little bit shocked
about that.

Why a fork?

You need to push to a public repo so git can do a PR.

What is 'origin'?

When you clone 'origin' is where this clone comes from.

2 pull requests for one patch?

One PR should be for one 'thing'. Have a look at some of the PR's, some contain a one line change, others have changes in many files which where done with many commits.

...?

I would wonder if git doesn't offer a simpler way. And I don't want to
click around on any git-portal. That is not how Mr. Torvalds thougt
about using git. It should make the dev process simpler to focus on
the real important things.

It does, but the learning curve is much higher then with SVN or CVS. I have used both for my own stuff and it was not a nice experience, with git or hg/mercurial ones you have things set up it is easy and much much more powerful/flexible.

I would offer diff- or patch-files against the original repository like
I done in the past with CVS/SVN reps.

This wall is to high to make participation of "little devs" possible.
That is not what a open project should be.

I am a little dev, just doing all this as a hobby and it took a bit to learn but I wouldn't go back to SVN/CVS for my own stuff.

Maybe I am not the best to explain, but I'll give it a go on the wiki and then others can correct me and/or provide simple versions.

Werner

···

On 2/24/2015 13:55, moonkid@posteo.org wrote:

On 2015-02-24 13:34 Werner <wernerfbd@gmx.ch> wrote:

Hi,

BTW, I think there is no problem if you preferred to provide a patch and attach it either here or to trac ticket.

I believe a PR is simpler for Robin, especially as the master repo is not on Github, and it might get applied quicker. One reason would be that Github already tells Robin if he can merge it without conflicts.

Werner

Hi Werner,

first of all I have to apologize for my rude tone about the git-fork
stuff. Sorry for that!

I believe a PR is simpler for Robin...

Even if I don't understand it I will do it this way. Robin have enough
to do I think.

I have a question about the repository. I couldn't find "the docs". I
knew they are build from the source comments.
I found the overview-files but nothing more that looks like docs.

I am looking for three classes:
- DateTime (converting form/to Python datetime)
- Point (return type of Get())
- Size (return type of Get())

···

On 2015-02-24 16:30 Werner <wernerfbd@gmx.ch> wrote:

- remove in phoenix\doc\sphinx the file:
  wxlib.pkl

There is no such file. I used the git repository.

c:\python27\python.exe build.py wxlib sphinx

build.py doesn't run and throw an error with python3. And I don't want
to build wx for Python2 just to create docs. I still work on getting the
scripts run wiht Py3...

btw: There are so much pyc-files in the rep. Shouldn't they put to
the .gitignore?

···

On 2015-02-18 08:57 Werner <wernerfbd@gmx.ch> wrote:

moonkid@posteo.org wrote:

- remove in phoenix\doc\sphinx the file:
   wxlib.pkl

There is no such file. I used the git repository.

It is produced of prior documentation builds, so it will be there the next time you might want to build the docs, and removing it ensures that all the wx.lib files will be scanned again. (It is a cache of some of the scanned info.)

c:\python27\python.exe build.py wxlib sphinx

build.py doesn't run and throw an error with python3. And I don't want
to build wx for Python2 just to create docs. I still work on getting the
scripts run wiht Py3...

btw: There are so much pyc-files in the rep. Shouldn't they put to
the .gitignore?

Where are you seeing them? (And there is a *.pyc in .gitignore, at the top of the file.)

···

On 2015-02-18 08:57 Werner<wernerfbd@gmx.ch> wrote:

--
Robin Dunn
Software Craftsman

Werner wrote:

Hi,

- create a github account
- fork...

I have git local on my machine!
In my understandings git is more simpler and easier to use than
CVS and SVN.

It is especially when you have to do 'merge' and friends.

I'll try to start a wiki page, so just short answers below.

So I don't understand why do I have such a complex task just to submit
a patch? To much work for such simple task. I a little bit shocked
about that.

Why a fork?

You need to push to a public repo so git can do a PR.

For the record, PRs are a GitHub concept and feature. The fork is also primarily GitHub. Git itself is designed around pulling and pushing changesets from one repository to another, and if you do not have write access to the repository you want to push to, then it makes it possible to send collections of changesets via email to the owner of the other repository, or some other mechanisms to share changes IIRC. It's that last part that the PR system was meant to simplify and automate, and I think it has done very well.

What is 'origin'?

When you clone 'origin' is where this clone comes from.

2 pull requests for one patch?

One PR should be for one 'thing'. Have a look at some of the PR's, some
contain a one line change, others have changes in many files which where
done with many commits.

...?

I would wonder if git doesn't offer a simpler way. And I don't want to
click around on any git-portal. That is not how Mr. Torvalds thougt
about using git. It should make the dev process simpler to focus on
the real important things.

It does, but the learning curve is much higher then with SVN or CVS. I
have used both for my own stuff and it was not a nice experience, with
git or hg/mercurial ones you have things set up it is easy and much much
more powerful/flexible.

I would offer diff- or patch-files against the original repository like
I done in the past with CVS/SVN reps.

Keep in mind that Git (and Mercurial and others) is not a centralized version control system like CVS and SVN. Each and every clone is a separate, complete and independent repository. In fact, in the early days of DVCS it was expected that there would seldom ever be a centralized "master" repository but rather all developers on a project would share all changes with each other directly. As Werner said, this is highly complex but also very flexible and powerful. GitHub and other services have come along and made the idea of having a centralized master have some traction again, but because of the flexibility and the power of Git it is able to solve some of the tougher problems and add even more power to how Git can be used with distributed team members. (For example I don't have to give you SSH access to the machine my Git repository resides on in order for you to give me changes. Etc.)

Here's another thing that using a DVCS like Git gives me. I have half a dozen or more separate Phoenix clones on my LAN, for different development platforms, environments, VMs, etc. In the past with SVN if I made changes on one platform and wanted to test it on another I would have to do something like copy changed files from one machine to another (error prone), or perhaps use a shared filesystem and and have all the machines/VMs access the source tree from there (too slow and I can only work on one thing at a time on all platforms), or check-in the partially tested/completed files on the one machine so I can check them out on the others (that's a Bad Idea for many reasons.) Instead with Git I can make and commit changes on each clone as needed, push branches to other machines for testing, commit more changes to it there, push the on the branch back to the original machine, and so forth. When the change is finally ready to be made public I push all of the commits on the branch to the repo at GitHub. Or if some experimental thing doesn't work out I can just delete my local branches and those changes don't clutter up the public repo at all.

This wall is to high to make participation of "little devs" possible.
That is not what a open project should be.

I am a little dev, just doing all this as a hobby and it took a bit to
learn but I wouldn't go back to SVN/CVS for my own stuff.

You might be a little surprised to hear that on another project it was decided that we should host it on GitHub because the barrier to entry was much lower there than some other tools we were considering, because so many people (or at least those we were hoping would contribute) are already familiar with GitHub and feel comfortable with the PR process. So quit dragging your feet and dive in! :wink:

···

On 2/24/2015 13:55, moonkid@posteo.org wrote:

On 2015-02-24 13:34 Werner <wernerfbd@gmx.ch> wrote:

--
Robin Dunn
Software Craftsman

While you asking I see this are the pyc-files generated while the
build.py run. I forgot that this is just Python, too.

Sorry, it is 4 oclock in the morning here on this side of the planet.

···

On 2015-02-24 19:11 Robin Dunn <robin@alldunn.com> wrote:

Where are you seeing them? (And there is a *.pyc in .gitignore, at
the top of the file.)

Werner wrote:

So you want to (very short):
- create a github account
- fork this git@github.com:RobinD42/Phoenix.git to your account
- clone from your account (to get it to your PC)
- create a branch of the 'master' branch
- make changes for PR 1
- push to 'origin'
- create Pull Request 1
- create another branch of the 'master' branch
- make change for PR 2
- push to 'origin'
- create Pull Request 2

After Robin has done commits you need to:
- pull from 'upstream'
- rebase your 'master' branch from the 'upstream' master branch

Above is very cryptic, and confused and sometimes still confuses me.
Should really create a wiki page with more detailed instructions and/or
links to good tutorials.

http://wiki.wxpython.org/ContributeWithGIT

Werner,

Thanks for adding the wiki page about this. I've added a couple notes to it too, however it occurs to me that we should probably start transitioning things over to the wxWidgets/Phoenix repo as the main repository and have that be where PRs are sent, etc., instead of mine at RobinD42/Phoenix. Can you update the page accordingly?

Thanks!

···

--
Robin Dunn
Software Craftsman

Hi Robin,

...

ContributeWithGIT - wxPyWiki

Werner,

Thanks for adding the wiki page about this. I've added a couple notes to it too, however it occurs to me that we should probably start transitioning things over to the wxWidgets/Phoenix repo as the main repository and have that be where PRs are sent, etc., instead of mine at RobinD42/Phoenix. Can you update the page accordingly?

Would like to;-) , but as soon as I am logged in I get "You are not allowed to view this page" for all pages.

See you
Werner

···

On 2/25/2015 5:45, Robin Dunn wrote:

Werner wrote:

Hi Robin,

...

ContributeWithGIT - wxPyWiki

Werner,

Thanks for adding the wiki page about this. I've added a couple notes
to it too, however it occurs to me that we should probably start
transitioning things over to the wxWidgets/Phoenix repo as the main
repository and have that be where PRs are sent, etc., instead of mine
at RobinD42/Phoenix. Can you update the page accordingly?

Would like to;-) , but as soon as I am logged in I get "You are not
allowed to view this page" for all pages.

Oops. Fixed now.

···

On 2/25/2015 5:45, Robin Dunn wrote:

--
Robin Dunn
Software Craftsman