11 years agoMatt Attaway committed change 8777 into main | ||
Add a comment | ||
11 years agoMatt Attaway committed change 8760 into main | ||
11 years agoMatt Attaway committed change 8759 into main | ||
11 years agoMatt Attaway committed change 8723 into main Continuously update state on opened files Automatically checking out files is all well and good, but there’s a problem; frequently in the course of... working on files, before you commit, files will go through a number of different states. You may edit a file, then delete it, and then re-add it unchanged all before trying to commit. At the end of the process in the case above nothing should happen, but if you edit a file and never revisit it you are stuck with that initial edit. Pulse now runs a non-destructive revert on files when it receives an event notification. This resets the working state so that if there is a major change (from edit -> delete) we can properly catch it and tell the system. It also is handy for dealing with added files that you then delete. There are edge cases with this code that I’m confident are not handled correctly. The good news is nothing should be destructive; the worse that happens is you revert -k everything and re-run reconcile. User visible change « | ||
11 years agoMatt Attaway committed change 8720 into main | ||
11 years agoMatt Attaway committed change 8703 into main | ||
11 years agoMatt Attaway committed change 8702 into main Add the ability to pause updates on a connection After some fun today where I added a gazillion files while running automated tests I realized there... is is much to be said for being able to pause your automated friend. This change adds the ability to pause updates on a connection. Syncs and file events are not tracked while updates are paused. Paused connections are also not used when figuring out what the state icon should be. Also fix a bug related to all of this where a server coming online while in the connection dialog would not cause the icon to update. We now do an icon state check after coming out of the connection dialog. In addition, we use the proper timer when coming out of the connection dialog, not always the sync timer. User visible change « | ||
11 years agoMatt Attaway committed change 8698 into main Add a method to run revert -k. Will hook up later into the reconcile code | ||
11 years agoMatt Attaway committed change 8692 into main Add auto-submit capability to Pulse If you so choose you may now configure Pulse to automatically submit files as soon as they are changed. This is... done as part of the file event watcher; files are opened with reconcile and if configured to do so immediately submitted with a boilerplate commit message. For obvious reasons auto-commit is off by default. User visible change « | ||
11 years agoMatt Attaway committed change 8691 into main | ||
11 years agoMatt Attaway committed change 8690 into main Automatically append ":1666" to the end of a server if the user forgets User visible change | ||
11 years agoMatt Attaway committed change 8689 into main Fix bug where observers were repeatedly added, causing FSEvent watcher errors Bug fix with no user visible change | ||
11 years agoMatt Attaway committed change 8686 into main | ||
11 years agoMatt Attaway committed change 8685 into main | ||
11 years agoMatt Attaway committed change 8684 into main | ||
11 years agoMatt Attaway committed change 8657 into main | ||
11 years agoMatt Attaway committed change 8656 into main | ||
11 years agoMatt Attaway committed change 8655 into main | ||
11 years agoMatt Attaway committed change 8654 into main | ||
11 years agoMatt Attaway committed change 8653 into main Disable/enable the login menu when appropriate It’s pretty daft to have the login menu always active. --daftness User visible change | ||
11 years agoMatt Attaway committed change 8652 into main Rework login to take advantage of other clients logging in Previously the Overseer entirely shut down operations when it noticed that the user neede...d to login. This is all well and good if you only use Pulse, but less helpful if use other clients too. This change introduces a new timer that attempts ‘p4 login -s’ every few seconds to see if there is a valid ticket. This is not unlike the timer that gets enabled when a connection is lost. This change also includes some WIP on submit support that I was too lazy to pull out. User visible changelist « | ||
11 years agoMatt Attaway committed change 8635 into main | ||
11 years agoMatt Attaway committed change 8597 into main Handle disconnected servers automatically If Pulse loses its connection with the Perforce server it now reports that the connection is down and star...ts a new timer to look for a live connection. The Overseer handles all of this on its own; unlike login there’s really nothing for the user to do. This change also fixes a bug where the login dialog was not being properly regenerated for connections after the first. User visible change « | ||
11 years agoMatt Attaway committed change 8595 into main | ||
11 years agoMatt Attaway committed change 8594 into main Custom message for completed sync after initial sync | ||
11 years agoMatt Attaway committed change 8592 into main Add less aggressive notification when background processes detect need to login Instead of popping a dialog up right in your face we use a standard n...otification and change the status icon to indicate Pulse is unhappy. Using the login menu item will log the user is and restart the background processes. User visible change. « | ||
11 years agoMatt Attaway committed change 8591 into main | ||
11 years agoMatt Attaway committed change 8590 into main Add crude login capabilities This is the first step toward getting the login behavior I want. Right now anytime a Peforce command gets a login error... the Overseer ion charge notifies its delegate, which is currently the AppDelegate. The AppDelegate then kicks off the requisite login dialog which gets the password and does the login. There’s no error handling or feedback and the dialog pops up even when it is a background process that hit the error. The next step is to implement the Login menu item and the ‘need login’ tool tip and status icon. User visible (and possibly user annoying) change « | ||
11 years agoMatt Attaway committed change 8575 into main Automatically handle Unicode servers; stub out login handling There's a lot going on in this change: * Fixed a bug where charset was always set to n...one * Added protocol on PLSOverseer so that something can properly handle login errors * PLSAppDelegate implements stubs for the PLSOverseer protocol * PLSOverseers automatically configure themselves for Unicode servers now * Ripped out handleCommonErrors: because it turns out I want to handle the same error in multiple ways. Next step is to properly handle 'p4 login' and request a password. User visible changes. « | ||
11 years agoMatt Attaway committed change 8574 into main | ||
11 years agoMatt Attaway committed change 8571 into main Expand connection properties for charset; add method to crudely handle common errors This is the next step towards handling login and unicode errors.... The interfaces have been widened to track the charset. I’m using a string at this point so that I can just pass in the character set without having to test it; ‘none’ works with non-Unicode servers. The handler just logs what it would do so that I can test the behavior. Next step is to actually ask the user for their password and run login. Still no real functional change. « | ||
11 years agoMatt Attaway committed change 8570 into main | ||
11 years agoMatt Attaway committed change 8569 into main Rejigger P4Connection to use a standard return type The previous mechanism made it hard to return anything but error messages. With the P4Message ob...ject we can return dictionaries, lists, and messages with a single object. I can use the new object more intelligently, but that’s for another change. I also reorganized the code to separate the ‘p4’ layer off into its own potentially reusable bucket. No functional change. « | ||
11 years agoMatt Attaway committed change 8555 into main Replace hardcoded defaultsfor new connections with user specific values. | ||
11 years agoMatt Attaway committed change 8553 into main Add a bit of extra logging while I work out this occasional hang | ||
11 years agoMatt Attaway committed change 8552 into main | ||
11 years agoMatt Attaway committed change 8544 into main Hardcode P4IGNORE for now to properly ignore files taht should be ignored | ||
11 years agoMatt Attaway committed change 8537 into main Rework Pulse startup to (sorta) support real users Instead of repopulating the system with my test data it now pops up the connection dialog if ther...e are no existing connections. This change also fixes a bug where the PLSConnection object wasn’t being refreshed when settings were changed on an Overseer. « | ||
11 years agoMatt Attaway committed change 8536 into main Save out connections when closing the dialog | ||
11 years agoMatt Attaway committed change 8521 into main Set a more sane initial position for the connection dialog | ||
11 years agoMatt Attaway committed change 8520 into main Make the Connections dialog remember its position and size | ||
11 years agoMatt Attaway committed change 8519 into main Finally add a connections dialog to manage connections It’s taken a week to figure out how to manage windows and tabelviews, but this change adds a... crude connection dialog to add and remove connections as well as save them out to the preferences file. More to do to make it more sane, but it works for now! « | ||
11 years agoMatt Attaway committed change 8518 into main Pulling out the C++ API for now; I’m going to stick to the command line for now. | ||
11 years agoMatt Attaway committed change 8511 into main Get a very crude form of reconcile and sync working. Continuing in my purely experimental mode, this change adds rough versions of the core features...: 1) Every 5 seconds a timer fires and runs sync to grab new files. The user is made aware of the synced files via an OS X notification. 2) When files are modified ‘p4 reconcile’ is kicked off on the entire workspace Of course there is no error or sanity checking, but it is technically usable for very rough definitions of usable. « | ||
11 years agoMatt Attaway committed change 8509 into main | ||
11 years agoMatt Attaway committed change 8506 into main Pull model out of controller; disable dock icon No functional change, but the code is moderately more sane. This change introduces an Overseer objec...t that is responsible for maintaining one path/Port/User/Client combination. All of the delegation responsibilities move to the Overseer, as does FileSystemWatcher configuration. Overall this just sets me up to actually monitor multiple paths. « | ||