forked from expandedfronts/revisr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme.txt
233 lines (181 loc) · 8.76 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
=== Revisr ===
Contributors: ExpandedFronts
Tags: revisr, git, git management, revision tracking, revision, backup, database, database backup, database plugin, deploy, commit, bitbucket, github, version control
Requires at least: 3.9.2
Tested up to: 4.1.1
Stable tag: trunk
License: GPLv3
License URI: http://www.gnu.org/licenses/gpl.html
A simple plugin for managing your WordPress website with Git.
== Description ==
Revisr allows you to manage your WordPress website with a Git repository. With Revisr, you can:
* Track changes to your entire WordPress installation, or just the parts that you prefer
* Commit changes from within the WordPress dashboard
* Backup or restore your entire website in seconds
* Set up daily or weekly automatic backups
* Optionally push or pull changes to a remote repository, like Bitbucket or Github
* Test changes out before deploying them to another server
* Revert your website files and/or database to an earlier version
* Quickly discard any unwanted changes
A must have plugin for deploying and managing WordPress using Git repositories.
== Installation ==
= Requirements =
* A web server with Git and WordPress installed
* The PHP exec() function enabled
= Instructions =
* Unzip the plugin folder and upload it to the plugins directory of your WordPress installation.
* If the WordPress installation is not already in a Git repository, you will be able to create a new one in the Revisr Dashboard.
* Go to the Revisr settings page and adjust any settings as needed.
= Notes =
Please verify that database backups are working before attempting to revert the database, especially if attempting to do so on a production website. Backups use the mysqldump command, supported by most hosts/environments.
If you're using the HTTPS method to connect to the remote repository, the password for the remote repository will be stored in the '.git/config' file. You should take steps to prevent this from being publicly accessible. The following code added to a '.htaccess' file in the '.git/' directory will prevent public access:
`
content: Deny from all
`
If you're using NGINX, you'll have to update your configuration file with something similar to the following:
`
location ~ path/to/your-repo/.git {
deny all;
}
`
This issue can be avoided entirely by using SSH to authenticate, which is recommended in most cases. If using SSH, you will need to generate a SSH key on the server and add it to the remote repository (Bitbucket and Github both support SSH).
It is also adviseable to add Revisr to the gitignore file via the settings page to make sure that reverts don't rollback the plugins' functionality.
== Frequently Asked Questions ==
= How does Revisr handle the database? =
You have complete control, and can decide whether you want to track the entire database, just certain tables, or if you don't want to track the database at all. Then, during a backup, the tracked database tables are exported via "mysqldump". When importing or restoring the database to an earlier commit, Revisr first takes a backup of the existing database, creating a restore point from immediately before the import that can be reverted to if needed.
You can also set a "Development URL" that will be automatically replaced in the database during import- allowing for backups and restores that work on both your dev and live environments.
= Why aren't my commits being pushed to Bitbucket/GitHub? =
This is either an authentication issue or the remote branch is ahead of yours.
= Can I damage my site with this plugin? =
Care should be taken when dealing with upgrades that depend on the database. Taking verified backups before and after major changes is always recommended.
== Screenshots ==
1. The main dashboard of Revisr.
2. Simple staging area that lets you decide what gets committed.
3. Easily view changes in files with Revisr's diffs.
4. A comprehensive history of your website, with unlimited restore points.
== Changelog ==
= 1.9.2 =
* Improved error handling for commits, pushes, and pulls
* Fixed bug with saving Git username
* Fixed bug with PHP error reporting
* Fixed bug with push count when backing up DB and pushing at the same time
* Fixed CSS issue with viewing untracked tables after importing
= 1.9.1 =
* Fixed bug with "Import Pushes" checkbox not showing after saving
* Fixed bug with saving some settings in Windows
* Fixed CSS issue when viewing a branch with no commits
* Small cleanup
= 1.9 =
* Added support for multiple commit authors
* Added basic support for custom WordPress file structures
* Added support for PHP autoloading when available
* Added pagination to the "Recent Activity" table on the dashboard page
* Added "Debug" page to the "Revisr Settings" page
* Fixed bug with viewing diffs in Firefox,
* Fixed potential XSS and user escalation vulnerabilities, props @jdgrimes
* General UI improvements
* General performance improvements
= 1.8.3 =
* Fixed bug with spaces in filename
= 1.8.2 =
* Improved plugin performance
* Fixed bug with timezone on some sites
* Fixed bug with loading translation file
* Changed "Commit Changes" to read "Save Changes"
* Improved Remote URL validation
= 1.8.1 =
* Fixed bug resulting from changes in WordPress 4.1
* Fixed bug with storing webhook URL in some environments
= 1.8 =
* Added ability to track individual database tables
* Added ability to import tracked database tables while pulling changes
* Added ability to run a safe search/replace on the database during import to support multiple environments (supports serialization)
* Added unique token to the webhook to improve security (existing webhooks will need to be updated)
* Added fallback to the WordPress database class if mysqldump is not available
* Moved backups to 'wp-content/uploads/revisr-backups/' (path may vary) and automatically generate .htaccess
* Updated pending files count to only show for admins
* Updated error handling for commits
* Small UI improvements
= 1.7.2 =
* Tweaked permissions check to only check permissions if repository exists.
= 1.7.1 =
* Fixed potential PHP notice with tags widget
* Fixed permissions to just check the ".git/" directory
= 1.7 =
* Added ability to create a new repository if one does not already exist
* Added ability to create automatic daily or weekly backups
* Added ability to merge changes
* Added ability to add tags to commits
* Fixed bug with backing up the database when a port is used
* General improvements
= 1.6.3 =
* Improvements to the list of committed files
* Small bugfixes
= 1.6.2 =
* Added dedicated page for managing branches
* Database backups from the dashboard now automatically create new commits
* Fixed timezone bug on the dashboard
* Improvements to settings page
* Small UI improvements
= 1.6.1 =
* Small UI improvements
* Changed Recent Activity to show 15 items
* Fixed bug with multi-site installations
* Fixed bug with reverting files
= 1.6 =
* Added internationalization support
* Switched to human-friendly time diffs for Recent Activity
* Fixed bug causing dashboard to freeze in some environments
* Improved error handling
* Removed passthru() functions
* Code cleanup
= 1.5.2 =
* Fixed bug with adding certain files
* Restricted access to super admins for multisite installations
= 1.5.1 =
* Added support for remote DB hosts
* Fixed bug with deleting files
= 1.5 =
* Improved commit interface, added ability to stage individual files
* Added ability to see and revert to changes pulled from a remote
* Added ability to set the name of the remotes (defaults to origin)
* Added ability to set the path to MySQL
* Improved compatibility for Mac and Windows
* Bugfixes and general cleanup
= 1.4.1 =
* Added "Backup Database" button to the Quick Actions
* Added number of unpulled/unpushed commits to the Quick Action buttons
* Updated recent activity text
= 1.4 =
* Added ability to automatically pull changes from Bitbucket or Github (enabled on the settings page)
* Fixed bug causing call_user_func() error in some enviornments (including Windows)
* Additional validation on Git commands
* Additional error handling
* Fixed bug with saving .gitignore
* Fixed potential bug with viewing pending files
* Minor cleanup
= 1.3.2 =
* Bugfixes
= 1.3.1 =
* Added error handling
* Commits are no longer automatically pushed by default. This can be changed in the plugin settings page.
* Fixed issue with .gitignore showing as a pending file
= 1.3 =
* Added ability to track/revert changes to the database
* The commits listing now shows commits on the current branch by default
* Added basic compatibility check
* Added settings link to the plugin page
= 1.2.1 =
* Minor bugfixes
= 1.2 =
* Added ability to view the number of pending files in the admin bar
* Small cleanup, updated wording
= 1.1 =
* Bugfixes and improvements
* Added ability to view changes in files from a previous commit
= 1.0.2 =
* Minor bugfixes
= 1.0.1 =
* Updated readme.txt
= 1.0 =
* Initial commit