You are here

Discussion on improving source control (github), split from platform bug tracker

27 posts / 0 new
Last post
John T. Haller
John T. Haller's picture
Offline
Last seen: 7 hours 25 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Discussion on improving source control (github), split from platform bug tracker

This discussion was split off from the bug tracker and is preserved here. I wanted to ensure the helpful bits were retained and the discussion continued, since the bug tracker is normally cleared of comments.

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
Just replying, no need to read this till after v12.0 is released

TL;DR:

  • Consider my reality checked Wink but there are other options if git isn't your thing
  • Those repos are (or were) significantly different from the released versions
  • I saw that, but it's messy when submitting multiple separate patches
  • OK
  • Thanks for noticing, hope you can find the time to put up a repo soon
  • Sorry, we can talk about it later

Acutal Message:

  • While some people do still use Visual Source Safe I do understand your reluctance to ;-). When I read "15 years since I used SCM" I (incorrectly I guess) assumed you meant CVS, Perforce or SVN, each of which are still accepted SCM's though CVS gets criticised for lacking some of the 'standard' features of todays revision control software (durr,, I just looked SVN up and it wasn't around till 14 years ago, my bad). My point in mentioning older SCMs was that git is not the only acceptable source control, there's CVS (outdated), Perforce (proprietary), SVN, SVK, Bazaar, Mercurial (Hg), and others, so if git is hard to get used to, you could go with SVN, or Hg, etc. (on Windows it's probably easiest to start learning by working with an existing repository that's on one of the SCMs accessible via a Tortoise interface just to get used to the concepts & workflow).
  • The Installer's SVN repository is very outdated, and last time I checked the Launchers Mercurial repository had a lot of major changes in it as compared with the released version. These differences make a barrier of entry for potential patch submitters.
    Also the Platform is more high profile, I use it and come across things that I would like to help with (e.g. custom theme suport, custom color support, …) regularly, while the Installer & Launcher I rarely come across an issue or missing functionality unless I'm developing a PortableApp, though there are a couple of things to do with them that I'm still hoping to find the time to get to.
  • Yes, I noticed when he posted about it in the forums, and however easy or difficult it was for you to incorporate it, it still took quite a while before the public got to see it.
    Also I realise that there isn't a big pile of us, but I personally would submit more patches if there was a specific route for doing so, as posting a full copy of my version of the source gets messy when I want to submit several patches at about the same time, and feel that they should be submitted separately, so that you can take one or another and review it alone without having to figure out which changes are connected to which and selectively ignore some of them.
  • Yeah, I understand that.
  • Thanks for your recognition, but I'd rather do something about a few long-standing annoyances I have with the Platform ;-).
    Re: "John brain no worky." get some rest, I can wait.
  • Sorry, the topic sort of brought itself up through the bug reports & responses.
    I can wait for now and will talk to you about it whenever it comes up again.

~3D1T0R

John T. Haller
John T. Haller's picture
Offline
Last seen: 7 hours 25 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Familiarity

On the SCM front, VSS predated most modern SCM tools and standards, so it's a very different product. Also, it was 1996-1998, so 16+ years ago. Nothing in the skillset is really transferable since all it did was basically lock files and keep track of who had them checked out so others couldn't edit. Think old school basic GUI SCM. Yes, you could diff and such, but that was about it. It isn't that I don't know Git. I don't know any of them yet.

I know having things up on github and synced to the current release will help a lot. That's one of my top projects going forward. Github seems to be the best way to get more folks interested, which is why I wanted to learn git first. I'm going to learn the command line as well as the basic methods/theories and use Github for Windows as well.

Thanks for the support and suggestions. We'll get there. I think I may take a nap and then post 12.0 hoping some more translations and bugfix confirmations come in.

Sometimes, the impossible can become possible, if you're awesome!

Gord Caswell
Gord Caswell's picture
Offline
Last seen: 1 week 2 days ago
DeveloperModerator
Joined: 2008-07-24 18:46
Github For Windows

I'm working right now on updating Github For Windows Portable, last being worked on by bungshea, with the goal of having an official client for the SCM we utilize that we can direct people to who want to get involved for the first time.

I'm not familiar with git, but as far as I understand it, git is similar(ish) to mercurial, and I've familiarised myself to that SCM tool over the last couple years.

John, if I'm able to figure git out quickly enough, I'd be happy to show you the process I utilize for keeping apps, including PAL, (and even a local copy of the platform I've been fiddling with off and on - mostly off) in a repository.

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
If PortableApps.com sources are moving to GitHub:

If PortableApps.com is going to be using GitHub for more source repositories then an official Portable git client would be nice , though "GitHub for Windows Portable" seems a bit long and makes it sound like it's "GitHub" for "Windows Portable", so maybe we could just call it "GitHub Desktop Portable" as they do call it that in some places?
Also I didn't see a "GitHub" Portable anywhere, and what I found by bungshea was 'Git for Windows Portable' (sans "Hub"), so … are you looking at doing GitHub for Windows Portable, or Git for Windows Portable?

3D1T0RP.S. Here are a couple of good tutorials for getting a previously-non-git source tree into a GitHub repository: using the command line, or using GitHub Desktop.

~3D1T0R

Gord Caswell
Gord Caswell's picture
Offline
Last seen: 1 week 2 days ago
DeveloperModerator
Joined: 2008-07-24 18:46
Hadn't looked closely

I hadn't looked closely at his yet, other than to note it existed, as I prefer starting fresh to avoid potential errors.

I'm working on Github Desktop, Github's official client.

[EDIT] Eww, .Net

However, I've found SmartGit, which uses Java, but otherwise can be installed entirely portably, even allowing to set the settings directory to Data\something

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
SmartGit, StupidGit, git-cola, … I bet at least 1 will work out.

Here's a big list of git "Interfaces, frontends, and tools" which might interest you if you hit more roadblocks on the gitPortable front.

~3D1T0R

mwayne
Offline
Last seen: 19 hours 17 min ago
Developer
Joined: 2012-01-03 09:23
Damn .NET

Do you still have your development progress from GitHub Desktop because I'd like to use it anyway.

JCSalomon
Offline
Last seen: 3 years 7 months ago
Joined: 2007-09-25 17:40
PortableGit exists

I grab the latest PortableGit release from the msysGit people (https://github.com/msysgit/msysgit/releases) and unzip it into X:\Git. Then in the configuration script for Command Prompt Portable I include the following lines:

:: Git
set Path=%~d0\Git\bin;%~d0\Git\mingw\bin;%~d0\Git\cmd;%Path%
set Home=%~d0\Documents
set PLINK_PROTOCOL=ssh

The command line, git-gui, and gitk have proven sufficient for my needs.

Gord Caswell
Gord Caswell's picture
Offline
Last seen: 1 week 2 days ago
DeveloperModerator
Joined: 2008-07-24 18:46
current repo's

The Installer's SVN repository is very outdated, and last time I checked the Launchers Mercurial repository had a lot of major changes in it as compared with the released version. These differences make a barrier of entry for potential patch submitters.
Also the Platform is more high profile, I use it and come across things that I would like to help with (e.g. custom theme suport, custom color support, …) regularly, while the Installer & Launcher I rarely come across an issue or missing functionality unless I'm developing a PortableApp, though there are a couple of things to do with them that I'm still hoping to find the time to get to.

I can't speak on the installer's repo, as I haven't had anything to do with it, however, I can speak to PAL's: The last commit was one I made 6 months ago, and I personally haven't had much time since to work on PAL, and as far as I can tell, neither Aluisio or Chris have either.

the way sourceforge is set up isn't terribly ideal for adding new committers, i'm looking forward to how github will change that.

As for PAL having lots of changes versus the released version - We could likely push out an update to PAL, but I'm not sure if there's any specific roadmap we're aiming for before doing so or not.

Next topic - John, so as to not lose this thread, would it be possible to split it off?

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
I think there is a PAL roadmap, it's just not well documented.

Gord CaswellAs for PAL having lots of changes versus the released version - We could likely push out an update to PAL, but I'm not sure if there's any specific roadmap we're aiming for before doing so or not.

I think Chris Morgan has made a few posts in the forums stating individual things that he wanted to have ready before the next release, but I'm not sure where they are (or what they were).

~3D1T0R

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
Bump!

Any news?

Since the topic of you being the only PA.c Platform Developer has been brought up again (here) I thought I'd ask:
How are things going on the 'source control improvement' front?
I would like to contribute, but as I've said before, your nonacceptance of .diff patches has made it difficult for me.
I would like to be able submit patches (or pull requests) that you can apply (or clone) to a local repo for evaluation, then accept or reject it/them (on a case by case basis).

If there's anything I can do to help you on this front, let me know.

[Edit: Just bumping this again, any progress? Any way I can help?]

~3D1T0R

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
I'm back again. What kind of source control is the Platform in?

Hello again John,
I was wondering what kind of source control you've been using, both lately and in the past for the PortableApps.com Platform.
In other words, I'm asking "How have you been keeping track of the Platform's source on your machine all these years?" (copies of the source directories? zip files? an scm? N/A?)

I ask this because I'd really like to revisit the idea of creating a git repository with all the history I can rebuild, and the Platform's source downloads on SF.net (especially the old ones) are a bit of a mess, and I'm wondering if you have some local system that could help me.

The idea is that I'd make a git repository with all the historical commits I can (with as accurate historical dates as possible), tag all releases, post it on GitHub, and transfer ownership of it to PortableApps' GitHub organization.

Please let me know what you think, and if you can help at all.

[Edit: Any chance I could get a response from John about this? (Please?)]

~3D1T0R

Gord Caswell
Gord Caswell's picture
Offline
Last seen: 1 week 2 days ago
DeveloperModerator
Joined: 2008-07-24 18:46
Git ongoing

John will correct me if I'm wrong, but currently the source is released publicly via 7z files by him, so possibly that's how he's keeping track of it on his system as well.

We're in the process of adding our internal tools to github (including, i believe, the platform), along with a master repo including only the launcher files for all apps (I'm working on this second one around some other projects).

With that said, I've added you as a member of the PA organization on github, as you've certainly proven yourself over the years here, and we appreciate any help you can provide in adding historical and go-forward source control for the platform.

Hope that helps!

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
Thanks.

I'm glad to be able to help.

Anyway, I'll do my best to make sense of the old copies of the Platform/Menu sources, but if John can help me with that, I'd really appreciate it.

~3D1T0R

Drazick
Offline
Last seen: 2 months 6 days ago
Joined: 2010-09-06 06:36
PortableApps on GitHub

This is a great move.
It will be great if yo moved form SourceForge to GitHub.

I hope it will bring new people to assist your wonderful work.

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
More like a partial move, I think.

I believe the idea is to move the source repositories to Git, hosting them on GitHub, and keep uploading the binaries to SourceForge, as there are still some issues John has mentioned before with GitHub's binary release system. To my knowledge, the source archives relating to each release will continue to be released on SourceForge as well, though for people who would rather download them from GitHub, as long as we tag each release, GitHub will offer a zip download of them too.

~3D1T0R

Gord Caswell
Gord Caswell's picture
Offline
Last seen: 1 week 2 days ago
DeveloperModerator
Joined: 2008-07-24 18:46
Clarification

For clarification: We will not be hosting individual repositories on Github for each application we have here.

We will have repositories for each of our internal tools, along with the occasional related application (such as Toucan).

For PAL-based applications, which we are slowly moving more and more custom-launcher based applications to, the launcher file (and custom code if applicable) will be kept in a master repository as well.

Full source archives will continue to made available via our SourceForge project, as will binary releases.

As this is the case, we will not be providing any releases via Github's release system, in source form or otherwise, at this time.

John T. Haller
John T. Haller's picture
Offline
Last seen: 7 hours 25 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Overdue update - constructing historical git lines currently

I'd forgotten about this old topic and it's been a long time since I updated it. I've learned git since 2014 and been using my own local repositories for some stuff. I'm currently working on constructing older repositories for the installer and platform with properly dated commits for every release going back to the beginning, including pre-1.0 installer stuff, and ensuring these will properly transfer in a digestible form to github. Partially so we have an accurate record over time, partially so nothing gets lost or buried in harder-to-access 7z files of text sources. I'll be moving these to github shortly so we have the full history of all releases in an easily accessible public form and then we'll be continuing work from that point on on github complete with all the usual github goodies.

Sometimes, the impossible can become possible, if you're awesome!

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
If you want/need any help ...

I tried to put together a git repository with historical accuracy for the Platform, and my main issues were that it's hard to tell what's what with a few of the older releases' source uploads on SourceForge, and that there seem to be a few (early) source releases missing.

As far as editing past commits, I have that pretty well in hand, so... I'm offering to help.

Also... slightly separate topic, but while gathering files for the purpose of creating said repository I came across these:

  • The folder structure on SourceForge is a bit sub-par for users trying to find a particular version's source
  • It's hard to tell which is which when so many look like "PortableApps.com Platform 1..."
  • There are some misplaced files
  • PortableAppsPlatform12.0b4.2Source.7z, PortableAppsUpdaterSource12.0b4.2.7z, and Start12.0b4.2Source.7z should be moved from Source/PortableApps.com Platform/PortableApps.com Platform 1.1 RC2 Source/ to Source/PortableApps.com Platform/PortableApps.com Platform 12.0/
  • There's a duplicate
  • PortableAppsBackupSource10.1.7z is in both Source/PortableApps.com Platform/PortableApps.com Platform 10.1 Source/ and Source/PortableApps.com Platform/PortableApps.com Platform 10.2 Source/

    Edit:
    I'd also like to know what author/committer information should be used for historical commits based on past source releases. It would be nice to use the same thing between repositories.

    For instance:
    What should the author name be? "PortableApps", "PortableApps.com" or "John T. Haller", or something else?
    What email address should be associated with these commits? The GitHub "PortableApps" account's @users.noreply.github.com address, one of @PA.c addresses? (developers_developers@..., JohnHaller@..., etc?) or an address @JohnHaller.com?
    Then, the author date should be the the date/time the file was published, but what about the committer data? should the committer be the same as the author, or should it be the person who prepared the repository? and finally should the committer date be set to the same as the author date or should it be the date/time when the repository was prepared?

    ~3D1T0R

    Gord Caswell
    Gord Caswell's picture
    Offline
    Last seen: 1 week 2 days ago
    DeveloperModerator
    Joined: 2008-07-24 18:46
    RE: Edits

    The author name & email will be up to John solely., so I can't speak to those questions.
    The committer data should, based on how we've handled PAL, likely be identical to the author data, unless there is some reason this isn't feasible.
    Finally, the commit date, in my opinion, should be the same as the author date.

    [EDIT] Note that I've created an empty repo on Github for the platform.

    3D1T0R
    3D1T0R's picture
    Offline
    Last seen: 3 years 5 months ago
    Developer
    Joined: 2006-12-29 23:48
    @GordCaswell: Regarding "ApplicationINI" repo; Toolkit thoughts?

    Hey Gord, I've been keeping an eye on the GitHub repos, and I'm wondering... seeing as the recently created ApplicationINI repository contains more than just .ini files, and in actuality contains just about everything needed to build each app (minus the app, PAF stuff, etc.) I'm curious if it wouldn't be a better idea to call it "Applications" (or "Apps") rather than "ApplicationINI"?

    I'm also thinking it might be a good idea to add the DefaultData folder for those that have one as it would be necessary in order to correctly build the app, and perhaps the appicon* files too.

    With the addition of this repo, I'm considering adding the ability to use each app's files in this repo's folder structure as a starting point to build apps in the PAF format to the PA.c DevToolkit, as such we'd need to have everything necessary to build each app in there.
    @JohnTHaller and @GordCaswell: What are your thoughts?

    ~3D1T0R

    John T. Haller
    John T. Haller's picture
    Offline
    Last seen: 7 hours 25 min ago
    AdminDeveloperModeratorTranslator
    Joined: 2005-11-28 22:21
    Other Options

    Applications could imply that full apps are contained there. ApplicationINI may not be the best option. AppFrameworks, AppConfigs, or something similar is a possibility.

    Sometimes, the impossible can become possible, if you're awesome!

    3D1T0R
    3D1T0R's picture
    Offline
    Last seen: 3 years 5 months ago
    Developer
    Joined: 2006-12-29 23:48
    Thoughts

    "AppConfigs" or something similar (AppCFGs?) seems better to me.

    Any thoughts regarding adding DefaultData/appicons/etc. so that this can be used for a more fully automated method of building PA.c Apps?

    ~3D1T0R

    Gord Caswell
    Gord Caswell's picture
    Offline
    Last seen: 1 week 2 days ago
    DeveloperModerator
    Joined: 2008-07-24 18:46
    Renamed

    It has been renamed to "AppConfigs".

    3D1T0R
    3D1T0R's picture
    Offline
    Last seen: 3 years 5 months ago
    Developer
    Joined: 2006-12-29 23:48
    I don't have write access to AppConfigs...

    Can I get write access to the AppConfigs repository?
    I tried to push to it to move ZoomIt out of ZintBarcodeStudio, and it wouldn't let me. Sad

    ~3D1T0R

    Gord Caswell
    Gord Caswell's picture
    Offline
    Last seen: 1 week 2 days ago
    DeveloperModerator
    Joined: 2008-07-24 18:46
    Done

    I've added access to the repo.

    Log in or register to post comments